- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个左滚动动画,第一次运行时效果很好。如果单击该按钮,滚动将动画到最右侧的区域,然后返回到原始位置。但是,当再次单击该按钮时,内容滚动到最右侧,然后滚动回原始位置。我不明白出了什么问题。请帮忙。提前致谢。
fiddle :http://jsfiddle.net/tXt3T/
HTML:
<div class="main">
<div class="content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
</div>
<button id="button">Scroll</button>
CSS:
* { margin: 0 auto; padding: 0;} .clearfix {clear:both;}
.wrapper { width: 100%;}
.main { width: 100%; height: 300px; position: relative; overflow: scroll;}
.content { width: 200%; position: absolute; left: -500;}
JS:
var scrollLeftInt, scrollRightInt, scrollTarget,
scrollToLeft = function(t) {
if($(".main").scrollLeft() < scrollTarget) {
$(".main").scrollLeft($(".main").scrollLeft() + (scrollTarget*0.01));
}
else {
clearInterval(scrollLeftInt);
$(".main").scrollLeft(scrollTarget);
scrollRightInt = setInterval(function() {scrollToRight(t);}, t);
}
},
scrollToRight = function() {
if ($(".main").scrollLeft() > 0) {
$(".main").scrollLeft($(".main").scrollLeft() - (scrollTarget*0.01));
}
else {
clearInterval(scrollRightInt);
$("#button").removeAttr('disabled');
$(".main").scrollLeft(0);
scrollLeftInt = ""; scrollRightInt ="";
console.log(scrollRightInt);
}
};
$(function() {
console.log("Script File is working");
$("#button").click(function() {
var t = 10;
$(this).attr('disabled', true);
$(".main").scrollLeft(scrollTarget);
scrollTarget = $(".content").width() - $(".content").parent().width() ;
scrollLeftInt = setInterval(function() {scrollToLeft(t);}, t);
});
});
最佳答案
一旦您不初始化它及其未定义
,只需删除此行:
$("#button").click(function() {
var t = 10;
$(this).attr('disabled', true);
// $(".main").scrollLeft(scrollTarget);
scrollTarget = $(".content").width() - $(".content").parent().width() ;
scrollLeftInt = setInterval(function() {scrollToLeft(t);}, t);
});
关于javascript - ScrollLeft 动画第二次尝试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23508166/
我有一个左滚动动画,第一次运行时效果很好。如果单击该按钮,滚动将动画到最右侧的区域,然后返回到原始位置。但是,当再次单击该按钮时,内容滚动到最右侧,然后滚动回原始位置。我不明白出了什么问题。请帮忙。提
我有一些包含 jQuery 脚本的页面。除了IE,一切都很好。我无法解决滚动问题出在哪里。 整页是一个长水平页面。每次当我更改页面(页面标识符)时,网页应该向左或向右滚动。以下是我如何处理先前按钮操作
我有一个滚动 div 的函数,如下所示: function scrTo(id, to) { document.getElementById(id).scrollLeft = to; } 并尝试
你好! 我有一个页面具有水平滚动功能。 我有一个侧边栏和一个内容框 在边栏中我有 5 个链接,比如 LINK1 - LINK5 在内容框中,我有 3500px 的宽度,其中包含 5 个 700px 的
我看过这个例子:http://jsfiddle.net/UwEe2/306/这是用 scrollleft 实现的。 现在我做了修改。 这是我的脚本但没有运行:http://jsfiddle.net/n
我尝试在垂直滚动时保持 div 的位置固定,但在水平滚动时它应该跟随。我使用了这个 jquery 脚本: $(window).scroll(function(){ $(".navback").css(
我正在制作一个带有幻灯片的网页,带有 jQuery scrollLeft 函数。我的问题是它在第一个 .slide 上工作,然后 div 滚动到一个完全错误的位置。请注意,我在两个不同的类上使用该函数
所以我试图让特定元素在页面加载时居中显示在屏幕上。该元素两侧各有一个元素,该元素占窗口宽度的 100%。 最终,会有更多的部分,我希望用户能够在所有部分之间自由滚动,尽管出于我正在做的网络应用程序的目
我想知道如何根据星期几设置 .scrollLeft()。 我发现我可以使用 Date().getdate() 获取星期几。星期日返回 0,星期六返回 6。 但是,我正在制定一个水平滚动的时间表。时间表
我有一个容器 div,里面有一个 ul 设置如下 jsFiddle:http://jsfiddle.net/BQPVL/1/ 为什么卷轴不起作用? HTML: hi how a
我正在尝试使用 slider 。 我希望能够滚动到 slider 的特定位置,从 MDN 文档看来,我可以使用 element.scrollLeft 滚动到特定位置。 虽然我似乎没有为我工作.. va
我有一段脚本,其中我设法使鼠标滚轮事件水平而不是垂直移动页面。但我也想为其增添一些动力。我创建了“after”函数,但 body 的 .scrollLeft 不会运行。 var rate = 150;
我这里有一个 jsfiddle - http://jsfiddle.net/stevea/DyfGp/2/ - 外框包含延伸到视口(viewport)之外的内框。这会强制出现水平滚动条。 A“向左走“
这个问题已经有答案了: TypeError: p.easing[this.easing] is not a function (12 个回答) 已关闭 8 年前。 我正在尝试向左滚动并应用缓动。 如果
我这里有以下代码: $(document).ready(function() { $('.scrolls').stop().animate({ scrollLeft : 40
我有一个大容器 DIV,其中包含许多其他元素并且有滚动条。当 DIV 可见时,我得到了 scrollLeft 的数量,但是当我隐藏元素时,scrollLeft() 返回 0。 同样,如果我在 scro
这是一个奇怪的案例。我只是 fork 了 Remy Sharp 的一个旧示例(jQuery infinite carousel),但这次代码根本不起作用。我的代码中唯一的区别是我需要有固定数量的元素而
我有一个具有固定位置的元素,但可以使用我在 this example on JsFiddle. 中使用的 jQuery 计算来左右滚动 $(window).scroll(function(event)
好的,我正在使用 jQuery,目前正在获取滚动条的最大值: var $body = $('body'); $body.scrollLeft(99999); // will give me the m
我有这个脚本: Array.prototype.forEach.call(document.querySelectorAll(".thumbs div"), function ($div)
我是一名优秀的程序员,十分优秀!