0

我在 ebay 上做了两个列表,一个与另一个只有两个词不同。

所以,问题在于,在第一个清单中,我的内容有自己的滚动条,可以向下滚动并查看内容,这就是我想要的。

我试图用我的脚本只更改两个单词,然后我得到了解决方案,ebay 页面只有一个滚动条,并且内容的滚动条是相同的(这就是我想要的),所以没有两个滚动条。

这是第一个 ebay 列表(我想要它的代码,但我不想要两个滚动条): http ://www.ebay.com/itm/130927513021?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1555.l2649 这是第二个 ebay 列表(我不想要它的代码,但我想要它只有一个滚动条的事实):

http://www.ebay.com/itm/130927893759?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1555.l2649 两个代码的区别:

第一个支持.fadeOut().fadeIn()

第二个支持.hide().show()

jQuery代码:

$(document).ready(function () {
    $('#menu').on('click', 'a', function () {
        if($(this).closest('li').hasClass('current')) return;

        $('.current').not($(this).closest('li').addClass('current')).removeClass('curre nt');

        // fade out all open subcontents
        $('.pbox:visible').hide(600);

        // fade in new selected subcontent
        $('.pbox[id=' + $(this).attr('data-id') + ']').show(600);

    }).find('a:first').click();
});

就这么简单,我想要一个.hide() .show()但没有添加滚动条(我只想要一个滚动条用于内容和 ebay 页面)。

4

1 回答 1

1

不需要的滚动条是由于 eBay 包含所有列表描述的 IFRAME。

当查看列表时,会执行一些 eBay Javascript,设置 IFRAME 的高度,以便所有描述都可见。所需的高度取决于脚本运行时清单描述中可见的内容。如果有任何隐藏元素大于 IFRAME 的高度,则当元素可见时,您将看到滚动条。

我创建了两个示例,希望能解释这个问题。两者都使用相同的 HTML。

第一个示例从 eBay Javascript 设置 IFRAME 高度时未考虑的隐藏元素开始。单击任何按钮将显示隐藏的元素。由于 IFRAME 内没有足够的空间,您将获得滚动条。

第二个例子解决了这个问题,因为最高的元素最初是可见的,这确保了 IFRAME 将有足够的高度来显示它。单击任何按钮不应导致滚动条,因为所有元素都足够小以适合 IFRAME。

示例 1 http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&item=110117879641

示例 2 http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&item=110117879646

设置 IFRAME 高度的 Javascript 不在您的控制范围内,因为它是由 eBay 生成的。为确保不出现滚动条,您必须设计列表的描述,使最高的元素最初可见,并设置 IFRAME 的高度,使其足够高以在其他元素可见时包含它们。

之前已经提到过,但 eBay 不允许在列表描述中使用外部 Javascript,因此包含 JQuery 可能会导致列表被删除。

于 2013-06-14T22:36:44.483 回答