我在一个非常简单的网站上运行了jquery的缓动插件,可以在这里看到:http://harrisonfjord.com/folio/
我对锚链接的代码(调用jquery函数将窗口滑动到按下的div)是:
<a href="#" style="" onclick="Animate2id('#c1'); return false" rel="Greetings"><img src="img/btn1.jpg" /></a>
<a href="#" onmouseover="" onclick="Animate2id('#c2'); return false" rel="About Us"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c3'); return false" rel="Plants Plus"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c4'); return false" rel="Kia Cadenza"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c5'); return false" rel="Panadol"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c6'); return false" rel="Asics"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c7'); return false" rel="Tooheys"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c8'); return false" rel="Channel 7 Olympic Coverage"><img src="img/btn1.jpg" /></a>
<a href="#" onclick="Animate2id('#c9'); return false" rel="Hit us up!"><img src="img/btn1.jpg" /></a>
<span style="font-size:25px" id="display"></span>
javascript代码如下:
$(window).keyup(function(e){
if(e.keyCode == 39){
//magical code goes here
}
return false;
});
function Animate2id(id,ease){ //the id to animate, the easing type
var currentPage=id;
var animSpeed=2000; //set animation speed
var $container=$("#container"); //define the container to move
if(ease){ //check if ease variable is set
var easeType=ease;
} else {
var easeType="easeOutQuart"; //set default easing type
}
//do the animation
$container.stop().animate({"left": -($(id).position().left)}, animSpeed, easeType);
}
我已经尝试为Animate2id函数设置一个变量,该变量获取您正在查看的当前div,然后可以用它来转到下一个或上一个div(但是甚至不知道我是否'我做得正确......)。
显然jquery / javascript仍然是新手,所以非常感谢任何帮助。
答案 0 :(得分:2)
首先,我要修改你的HTML,点击处理程序应该放在javascript中。使用href
属性指向相关的div:
<div id="link-container">
<a href="#c1" style="" rel="Greetings"><img src="img/btn1.jpg" /></a>
<a href="#c2" rel="About Us"><img src="img/btn1.jpg" /></a>
<a href="#c3" rel="Plants Plus"><img src="img/btn1.jpg" /></a>
<a href="#c4" rel="Kia Cadenza"><img src="img/btn1.jpg" /></a>
<a href="#c5" rel="Panadol"><img src="img/btn1.jpg" /></a>
<a href="#c6" rel="Asics"><img src="img/btn1.jpg" /></a>
<a href="#c7" rel="Tooheys"><img src="img/btn1.jpg" /></a>
<a href="#c8" rel="Channel 7 Olympic Coverage"><img src="img/btn1.jpg" /></a>
<a href="#c9" rel="Hit us up!"><img src="img/btn1.jpg" /></a>
<span style="font-size:25px" id="display"></span>
</div>
然后在jQuery中绑定所有处理程序:
$("#link-container A").click(function(e) {
e.preventDefault();
Animate2id($(this).attr("href"));
});
然后在Animate2id
中添加一个关于当前div
的课程:
function Animate2id(id, ease){ //the id to animate, the easing type
$(".current").removeClass("current");
$(id).addClass("current");
// rest of this functions' code ...
}
现在班级在选定的div
上,你可以在左/右光标按下方向找出你需要进入的方向:
$(window).keyup(function(e){
if (e.which == 37) { // left cursor
var $prevDiv = $(".current").prev("div");
Animate2id($prevDiv.attr("id"))
}
if (e.which == 39) { // right cursor
var $nextDiv = $(".current").next("div");
Animate2id($nextDiv.attr("id"))
}
});