当用户点击几个不同的链接时,我正在使用以下代码滚动窗口:
$(document).ready(function(){
$("#footerlink").click(function(){
$("#slide1").slideto({});
});
$("#logo").click(function(){
$("#slide1").slideto({});
});
$("#home").click(function(){
$("#slide1").slideto({});
})
$("#others").click(function(){
$("#slide2").slideto({});
})
$("#me").click(function(){
$("#slide3").slideto({});
});
$("#laughs").click(function(){
$("#slide4").slideto({});
});
})
幻灯片功能来自此脚本:
(function(b) {
b.fn.slideto = function(a) {
a = b.extend({
slide_duration: 1000,
highlight_duration: 3E3,
highlight: false,
highlight_color: "#FFFF99"
}, a);
return this.each(function() {
obj = b(this);
b("body").animate({
scrollTop: obj.offset().top
}, a.slide_duration, function() {
a.highlight && b.ui.version && obj.effect("highlight", {
color: a.highlight_color
}, a.highlight_duration)
})
})
}
})(jQuery);
我的问题是滚动仅适用于Chrome,而不适用于Firefox或IE。 FF和IE很好地降级,所以链接仍然有效,但我真的很喜欢滚动动画。
仅供参考:我用这两行来调用Jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
以下是我的代码的小提琴:http://jsfiddle.net/LwXR3/
你能帮我跟踪一下我的问题吗?
答案 0 :(得分:0)
好的,这太长了,无法发表评论。你应该真的避免上面代码中的复制粘贴混乱。除了ids之外,代码几乎完全相同。使用href获取位置而不是硬编码。
<强> HTML 强>
<a class="slideLinks" href="#foo">go to foo</a>
<强>的JavaScript 强>
$(".slideLinks").on("click", function(e){
e.preventDefault(); //p[revent the click
$(this.hash).slideto({}); //call your slide to function with the hash value for the id
});