我在易趣中制作了两个列表,一个与另一个不同,只有两个字。
所以,问题是在第一个列表中我有内容有自己的滚动条向下滚动并查看内容,这就是我想要的。
我尝试用我的脚本只更改了两个单词,我带来了解决方案,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()
,但没有添加滚动条(我只想要内容和易趣页面的一个滚动条)。
答案 0 :(得分: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可能会导致列表被删除。