首先让我说我是 jQuery 的一个完整的新手,我很难解决我当前的问题。我目前正在开发一个使用 jQuery ScrollTo 插件的项目。我正在尝试根据我在网页上的当前位置更改 scrollTo 函数的轴。
$(document).ready(function() {
var $current_position = thuis;
var $axis = 'xy';
$('.box').stop().scrollTo(thuis, 0);
$(window).resize(function() {
$('.box').stop().scrollTo($current_position, 0);
});
// Scroll function
$('.toc a').click(function() {
var $target = $(this.hash);
if($current_position == bezoekers_info || liniepad_info){
$axis = 'xy';
alert("xy");
} else {
$axis = 'yx';
alert("yx");
}
$('.box').stop().scrollTo($target, 1000, { queue:true, axis: $axis }, {easing: "easeInOutQuart"});
$current_position = $target;
return false;
});
});
该功能基本上可以工作,但它不会改变轴值(它将保持在'xy')。无论我的位置是什么,它总是会用“xy”提醒我。但是我知道 $current_position 应该可以工作,因为它确实可以在 window.resize 函数中工作。如果我将顶部的 $axis var 更改为 'yx' 它也可以工作。
我在这里错过了什么,显然我的 if / else 语句做错了什么?