gpt4 book ai didi

javascript - 全屏滑动站点,Lavalamp 不起作用

转载 作者:行者123 更新时间:2023-11-28 09:05:51 24 4
gpt4 key购买 nike

我正在使用带有 lavalamp 功能 (spasticNav) 的全屏滑动网站(fss slider)作为导航栏。在每张幻灯片中,我都放置了相同的菜单,该菜单项的类别为“当前”。但是,lavalamp 的 javascript 仅适用于第一张幻灯片。不可否认,我是 javascript 的初学者。我研究并尝试了 50 种不同的方法来解决这个问题,但无法让它正常工作。

我相信解决这个问题的可能途径是1. slider 之外只有一个菜单。但是,当我尝试此操作时,幻灯片的链接不起作用。或者2.更改事件类和绑定(bind)。我的尝试导致熔岩灯变得疯狂,将所有 li 项目视为事件状态或者3.使用回调

任何想法或帮助将不胜感激!谢谢

这是基本的 HTML

<script type="text/javascript" src="js/jquery.fss-1.0.min.js"></script>
<script type="text/javascript" src="js/jquery.spasticNav.js"></script>
<script type="text/javascript">
$(function() {
$(".slider").fss();
$('.lava').spasticNav();
});
</script></head>

<body>
<!-- Slider starts -->
<div class="slider">
<div class="slides">
<!--Page 1 -->
<div id="one" class="slide">
<div class="inner-wrapper">
<div class="header" id="containerb">
<ul class="top-menu lava">
<li class="selected"><a href="#one" class="special-anchor">One</a></li>
<li><a href="#two" class="special-anchor">Two</a></li>
<li><a href="#three" class="special-anchor">Three</a></li>
<li><a href="#four" class="special-anchor">Four</a></li>
<li><a href="#five" class="special-anchor">Five</a></li>
</ul>
</div>

<section id="content" class="container clearfix">
<p>some content</p>
</section>

</div>
</div>

<!-- Page 2 -->
<div id="two" class="slide">
<div class="inner-wrapper">
<div class="header" id="containerb">
<ul class="top-menu lava">
<li><a href="#one" class="special-anchor">One</a></li>
<li><a href="#two" class="special-anchor">Two</a></li>
<li><a href="#three" class="special-anchor">Three</a></li>
<li><a href="#four" class="special-anchor">Four</a></li>
<li><a href="#five" class="special-anchor">Five</a></li>
</ul>
</div>

<section id="content" class="container clearfix">
<p>some content</p>
</section>

</div>
</div>

<!-- Page 3 -->
<div id="three" class="slide">
<div class="inner-wrapper">
<div class="header" id="containerb">
<ul class="top-menu lava">
<li><a href="#one" class="special-anchor">One</a></li>
<li><a href="#two" class="special-anchor">Two</a></li>
<li><a href="#three" class="special-anchor">Three</a></li>
<li><a href="#four" class="special-anchor">Four</a></li>
<li><a href="#five" class="special-anchor">Five</a></li>
</ul>
</div>

<section id="content" class="container clearfix">
<p>some content</p>
</section>

</div>
</div>

...第 4 和第 5 页

lavalamp 功能的 javascript 是

(function($) {
$.fn.spasticNav = function(options) {
options = $.extend({
overlap : 8,
speed : 500,
reset : 1500,
color : '#007194',
easing : 'easeOutExpo'
}, options);

return this.each(function() {
var lava = $(this),
currentPageItem = $('.selected', lava),
blob, //blob is the box hovering over the selected li
reset;

$('<li class="blob"></li>').css({
width : currentPageItem.outerWidth(),
height : currentPageItem.outerHeight() + options.overlap,
left : currentPageItem.position().left,
top : currentPageItem.position().top - options.overlap / 2,
backgroundColor : options.color
}).appendTo('.lava');

blob = $('.blob', lava);

$('li', lava).hover(function() {
clearTimeout(reset);
blob.animate({
left : $(this).position().left,
width : $(this).width()
}, {
duration : options.speed,
easing : options.easing,
queue : false
});
}, function() {
// mouse out
blob.stop().animate ({
left : $(this).position().left,
width : $(this).width
}, options.speed);

reset = setTimeout(function() {
blob.animate({
width : currentPageItem.outerWidth(),
left : currentPageItem.position().left
}, options.speed)
}, options.reset);
});
});
};
})(jQuery);

最佳答案

尝试将对 spasticNav() 的调用包装在 jquery ajaxComplete 回调中:

# First time
$('.lava').spasticNav();

# On each slide
$(document).ajaxComplete(function() {
$('.lava').spasticNav();
});

关于javascript - 全屏滑动站点,Lavalamp 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com