我需要你的帮助来改善我的scipt中的错误。有谁能告诉我我做错了什么?
我使用两个插件。 First用于更改自定义滚动条,Second由我剪切并粘贴到第一个调用中。 以下是带注释的代码。
/* Set custom scrollbar for content-section */
jQuery('.carousel-item').mCustomScrollbar({ axis:"y", theme: "rounded-dots", scrollButtons: { enable: true }, scrollInertia: 300,
callbacks:{
whileScrolling:function(){
/* this.mcs.draggerTop <- I get it from First script (official page) example: Returning values */
var pct=this.mcs.draggerTop;
/*Below plugin is used for nice scrolling effect. I get it from github Second script. Below code was in jquery.fancy-scroll.js file. */
var defaults = {
animation: "bounce",
bounceDistance: 150,
animDuration: "0.3s",
animEasing: "cubic-bezier(0.175, 0.885, 0.420, 1.310)",
innerWrapper: '.carousel-item'
};
fancy_scroll = function(options){
var settings = $.extend({}, defaults, options),
el = $(settings.innerWrapper),
container = $(this),
posWas = 0,
status = "off";
$.fn.bounceEffect = function(px, s, anim, settings) {
var selector = $(this)
selector.css({
"-webkit-transform": "translate3d(0, " + px + ", 0)",
"-webkit-transition": "all " + s + " " + anim,
"-moz-transform": "translate3d(0, " + px + ", 0)",
"-moz-transition": "all " + s + " " + anim,
"-ms-transform": "translate3d(0, " + px + ", 0)",
"-ms-transition": "all " + s + " " + anim,
"transform": "translate3d(0, " + px + ", 0)",
"transition": "all " + s + " " + anim
})
}
if(pct==100){//if the user is scrolling down...
alert('dol');
if(status == "off") {
status = "on"
$('.carousel-item').bounceEffect(settings.bounceDistance * -1 + "px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
$('.carousel-item').bounceEffect("0", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
status = "off"
});
});
}
}
if(pct==0){ //if the user is scrolling up...
if(status == "off") {
if(container.scrollTop() <= 0) {
status = "on"
$('.carousel-item').bounceEffect(settings.bounceDistance + "px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
$('.carousel-item').bounceEffect("0px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
status = "off"
});
});
}
}
}
}
fancy_scroll();
}
}
});
最好的问候
答案 0 :(得分:0)
我相信很容易解释我想要实现的目标......我看到任何人都无法帮助我。 好的,我删除了错误,之前我的代码变得更简单了。
这就是我的解决方案:自定义滚动效果,当croll到顶部和底部。
/* Set custom scrollbar for content-section */
jQuery('.carousel-item').mCustomScrollbar({ axis:"y", theme: "rounded-dots", scrollButtons: { enable: true }, scrollInertia: 100,
callbacks:{
whileScrolling:function(){
var pct=this.mcs.topPct;
/*$("#mcs-dragger-top").text(this.mcs.topPct);*/
// alert(pct);
/*Plugin is used for nice scrolling effect*/
var settings = {
animation: "bounce",
bounceDistance: 60,
animDuration: "0.19s",
animEasing: "cubic-bezier(0.175, 0.885, 0.420, 1.310)" },
el = $('.carousel-item'),
container = $('.carousel-item'),
posWas = 0,
status = "off";
$.fn.bounceEffect = function(px, s, anim, settings) {
$('.carousel-item').css({
"-webkit-transform": "translate3d(0, " + px + ", 0)",
"-webkit-transition": "all " + s + " " + anim,
"-moz-transform": "translate3d(0, " + px + ", 0)",
"-moz-transition": "all " + s + " " + anim,
"-ms-transform": "translate3d(0, " + px + ", 0)",
"-ms-transition": "all " + s + " " + anim,
"transform": "translate3d(0, " + px + ", 0)",
"transition": "all " + s + " " + anim
})
}
if(pct==100){//if the user is scrolling down...
if(status == "off") {
status = "on"
$('.carousel-item').bounceEffect(settings.bounceDistance * -1 + "px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
$('.carousel-item').bounceEffect("0", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
status = "off"
});
});
}
}
if(pct==0){ //if the user is scrolling up...
if(status == "off") {
status = "on"
$('.carousel-item').bounceEffect(settings.bounceDistance + "px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
$('.carousel-item').bounceEffect("0px", settings.animDuration, settings.animEasing, settings);
$('.carousel-item').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) {
status = "off"
});
});
}
}
}
}
});
我希望这对那些搜索这种效果的人有所帮助。如果我在上面的代码中有错误,那么请写在这里。
最好的问候