Javascript 如何将这个滚动脚本转换为单个函数?
所以我有一个脚本,当鼠标移到一些定义的锚标记上时,它允许div的内容平滑地滚动 我想知道,如果我每次在站点的不同部分使用该功能时,不必复制脚本并更改一些选定的元素和函数名,而是可以将整个内容放入一个函数中,然后将值传递给该函数 这里有一个指向JSFIDLE的链接,它将让您了解到目前为止JSFIDLE的基本工作原理。谢谢你的帮助Javascript 如何将这个滚动脚本转换为单个函数?,javascript,jquery,Javascript,Jquery,所以我有一个脚本,当鼠标移到一些定义的锚标记上时,它允许div的内容平滑地滚动 我想知道,如果我每次在站点的不同部分使用该功能时,不必复制脚本并更改一些选定的元素和函数名,而是可以将整个内容放入一个函数中,然后将值传递给该函数 这里有一个指向JSFIDLE的链接,它将让您了解到目前为止JSFIDLE的基本工作原理。谢谢你的帮助 简单。您所要做的就是用一个函数包装它,并包括您想要作为参数的ID 我有权和你的一个舞蹈家合作: 看看你能不能让它和其他人一起工作 代码如下: function Scro
简单。您所要做的就是用一个函数包装它,并包括您想要作为参数的ID 我有权和你的一个舞蹈家合作: 看看你能不能让它和其他人一起工作 代码如下:
function Scroller(scrollUp, scrollDown, feed){
var step = 50;
var scrolling = false;
// Wire up events for the 'scrollUp' link:
$(scrollUp).bind("click", function(event) {
event.preventDefault();
// Animates the scrollTop property by the specified
// step.
$(feed).animate({
scrollTop: "-=" + step + "px"
});
}).bind("mouseover", function(event) {
scrolling = true;
scrollContent("up");
}).bind("mouseout", function(event) {
scrolling = false;
});
$(scrollDown).bind("click", function(event) {
event.preventDefault();
$(feed).animate({
scrollTop: "+=" + step + "px"
});
}).bind("mouseover", function(event) {
scrolling = true;
scrollContent("down");
}).bind("mouseout", function(event) {
scrolling = false;
});
function scrollContent(direction) {
var amount = (direction === "up" ? "-=1px" : "+=1px");
$(feed).animate({
scrollTop: amount
}, 1, function() {
if (scrolling) {
scrollContent(direction);
}
});
}
}
Scroller("#scrollUp", "#scrollDown", "#feed");
简单。您所要做的就是用一个函数包装它,并包括您想要作为参数的ID 我有权和你的一个舞蹈家合作: 看看你能不能让它和其他人一起工作 代码如下:
function Scroller(scrollUp, scrollDown, feed){
var step = 50;
var scrolling = false;
// Wire up events for the 'scrollUp' link:
$(scrollUp).bind("click", function(event) {
event.preventDefault();
// Animates the scrollTop property by the specified
// step.
$(feed).animate({
scrollTop: "-=" + step + "px"
});
}).bind("mouseover", function(event) {
scrolling = true;
scrollContent("up");
}).bind("mouseout", function(event) {
scrolling = false;
});
$(scrollDown).bind("click", function(event) {
event.preventDefault();
$(feed).animate({
scrollTop: "+=" + step + "px"
});
}).bind("mouseover", function(event) {
scrolling = true;
scrollContent("down");
}).bind("mouseout", function(event) {
scrolling = false;
});
function scrollContent(direction) {
var amount = (direction === "up" ? "-=1px" : "+=1px");
$(feed).animate({
scrollTop: amount
}, 1, function() {
if (scrolling) {
scrollContent(direction);
}
});
}
}
Scroller("#scrollUp", "#scrollDown", "#feed");
这是一个自定义插件的工作。看到这个演示了吗 您可以这样初始化它:
$('#feed').scroller({
up: '#scrollUp',
down: '#scrollDown'
});
这是一个自定义插件的工作。看到这个演示了吗 您可以这样初始化它:
$('#feed').scroller({
up: '#scrollUp',
down: '#scrollDown'
});
你想用它做一个jQuery插件吗?是的,差不多。我会经常调用这个脚本,只是不知道如何将它转换成插件。你想用它制作jQuery插件吗?是的,差不多。我会经常调用脚本,只是不知道如何将其转换为插件。太棒了!我会玩一会儿,谢谢。制作一个插件是我的追求,因为我会称它很多。太棒了!我会玩一会儿,谢谢。制作一个插件是我的追求,因为我会叫它很多。谢谢!我也会玩这个,看看效果如何。谢谢!我也会玩这个,看看效果如何。