Javascript Div容器到达页面左边框时粘滞,被后面的容器推到看不见的地方
我在网上搜索了一下,希望你们能帮我 我有一个“条纹”的div容器(图像)并排作为一个整体比视口宽,所以他们迫使水平滚动。在一定数量的容器之后,应该有“特殊容器”,当它们到达视口的左边界时,它们会粘在左边(因此它们基本上是固定的)。随着滚动的继续,下一个“特殊容器”靠近了,它将第一个容器推到看不见的地方并占据了它的位置,因此它也会向左移动,依此类推 基本上,我想实现这样的目标,但水平: 我的HTML:Javascript Div容器到达页面左边框时粘滞,被后面的容器推到看不见的地方,javascript,jquery,html,css,sticky,Javascript,Jquery,Html,Css,Sticky,我在网上搜索了一下,希望你们能帮我 我有一个“条纹”的div容器(图像)并排作为一个整体比视口宽,所以他们迫使水平滚动。在一定数量的容器之后,应该有“特殊容器”,当它们到达视口的左边界时,它们会粘在左边(因此它们基本上是固定的)。随着滚动的继续,下一个“特殊容器”靠近了,它将第一个容器推到看不见的地方并占据了它的位置,因此它也会向左移动,依此类推 基本上,我想实现这样的目标,但水平: 我的HTML: <!DOCTYPE html> <head> <meta
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>-</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/projekt.css" title="nofilter">
<script src="js/jquery-1.2.6.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.serialScroll-1.2.2-min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/waypoints.js"></script>
<script src="js/waypoints-sticky.js"></script>
<script type="text/javascript" charset="utf-8">
$(function(){
$(".post").wrapInner("<table><tr>");
$("img").wrap("<td>");
});
$(function(){
$("#projektimg").wrapInner("<table><tr>");
$(".post").wrap("<td>");
});
</script>
<!--<script type="text/javascript" charset="utf-8">
$('.my-sticky-element').waypoint(function(direction) {
$body.toggleClass(this.id + '-visible', direction === 'right');
}, {
horizontal: true
});</script>-->
<script>$(document).ready(function () {
$('.my-sticky-element').waypoint(function (direction) {
if (direction=='right')
$('.my-sticky-element').addClass('fixed');
else {
$('.my-sticky-element').removeClass('fixed');
}
}, {
horizontal: true
});
});</script>
</head>
<body>
<div class="my-sticky-element">
project description goes here
</div>
<div id="projektimg">
<div class="post">
<img src="img/1.jpg"/>
<img src="img/2.jpg"/>
<img src="img/3.jpg"/>
<img src="img/4.jpg"/>
<img src="img/5.jpg"/>
</div>
</div>
</body>
</html>
p、 美国:我是javascript的新手。我建议您使用jquery waypoints插件: 下面是一个演示: Javascript:
$(document).ready(function () {
$('.container div:eq(1)').waypoint(function (direction) {
//alert('here');
if (direction=='right')
$('.toggleme').addClass('fixed');
else {
$('.toggleme').removeClass('fixed');
}
}, {
//offset: $.waypoints('viewportHeight') / 2,
horizontal: true
});
});
HTML:
请注意,对于div1、div2、div3,您也可以很容易地做到这一点,但这取决于您的实现细节。我建议您使用jquery waypoints插件: 下面是一个演示: Javascript:
$(document).ready(function () {
$('.container div:eq(1)').waypoint(function (direction) {
//alert('here');
if (direction=='right')
$('.toggleme').addClass('fixed');
else {
$('.toggleme').removeClass('fixed');
}
}, {
//offset: $.waypoints('viewportHeight') / 2,
horizontal: true
});
});
HTML:
请注意,使用div1、div2、div3也可以轻松完成此操作,但这取决于您的实现细节。您有任何屏幕截图吗?。这样我就可以想象实际情况。我可以为您提供gif动画:希望有帮助!你有截图吗?。这样我就可以想象事情是如何进行的。我可以为你提供一个gif动画:希望对你有所帮助!不知怎的,它不起作用了,似乎脚本无法运行。。另外,如果我添加另一个toggleme类div并运行第一个,它会同时显示:-我必须为每个容器创建一个单独的类吗?你到底想做什么?如果要堆叠它们,需要更改其中一个的顶部坐标。我对你的例子进行了分叉,并添加了一些css以将它们作为例子进行堆栈。我想,只要第二组到了左边,“嗯”就坚持下去,第三组和“啊”也一样。但是“嗯”和“啊”同时出现。当div3到达视口的左边界时,我希望“ah”保持不变。我的第二个问题是,我无法运行脚本。。已更新代码。我已更新答案以反映您当前的评论。所有的部分都在那里,你可以为你的具体实现做准备。我现在从头开始重新构建了它,很多东西仍然不起作用,但至少脚本起作用了。我想你的工作已经完成了,非常感谢你的帮助!不知怎的,它不起作用了,似乎脚本无法运行。。另外,如果我添加另一个toggleme类div并运行第一个,它会同时显示:-我必须为每个容器创建一个单独的类吗?你到底想做什么?如果要堆叠它们,需要更改其中一个的顶部坐标。我对你的例子进行了分叉,并添加了一些css以将它们作为例子进行堆栈。我想,只要第二组到了左边,“嗯”就坚持下去,第三组和“啊”也一样。但是“嗯”和“啊”同时出现。当div3到达视口的左边界时,我希望“ah”保持不变。我的第二个问题是,我无法运行脚本。。已更新代码。我已更新答案以反映您当前的评论。所有的部分都在那里,你可以为你的具体实现做准备。我现在从头开始重新构建了它,很多东西仍然不起作用,但至少脚本起作用了。我想你的工作已经完成了,非常感谢你的帮助!
<div class="container">
<div id="div1">div 1</div>
<div id="div2">div 2 <div class="toggleme">hmm</div></div>
<div id="div3"><div class="toggleme">hmm</div></div>
<div id="div4">div 4</div>
</div>
.container>div {
width:500px;
height:200px;
display:block;
border:1px solid black;
float:left;
}
.toggleme.fixed {position:fixed; left:0;top:0;z-index:100;background-color:blue}
.container {width: 5000px}