window.scroll与jjmslideshow冲突?页面不滚动

时间:2013-11-19 14:35:40

标签: javascript jquery html5 css3

我实现了这个简单的脚本,在点击目标链接时产生“平滑滚动”效果:

 (function() {

'use strict';

// Feature Test
if ( 'querySelector' in document && 'addEventListener' in window && Array.prototype.forEach ) {

    // Function to animate the scroll
    var smoothScroll = function (anchor, duration) {

        // Calculate how far and how fast to scroll
        var startLocation = window.pageYOffset;
        var endLocation = anchor.offsetTop;
        var distance = endLocation - startLocation;
        var increments = distance/(duration/16);
        var stopAnimation;

        // Scroll the page by an increment, and check if it's time to stop
        var animateScroll = function () {
            window.scrollBy(0, increments);
            stopAnimation();
        };

        /....Other code irrilevant to the question./

                 Interval(animateScroll, 16);

    };

    // Define smooth scroll links
    var scrollToggle = document.querySelectorAll('.scroll');

    // For each smooth scroll link
    [].forEach.call(scrollToggle, function (toggle) {

        // When the smooth scroll link is clicked
        toggle.addEventListener('click', function(e) {

            // Prevent the default link behavior
            e.preventDefault();

            // Get anchor link and calculate distance from the top
            var dataID = toggle.getAttribute('href');
            var dataTarget = document.querySelector(dataID);
            var dataSpeed = toggle.getAttribute('data-speed');

            // If the anchor exists
            if (dataTarget) {
                // Scroll to the anchor
                smoothScroll(dataTarget, dataSpeed || 500);
            }

        }, false);

    });

}

因此,当我点击与该类签名的链接时,请将页面慢慢向下滚动到目标锚点。 在一个半空白的页面中一切正常但在我添加了一个用jmpress插件制作的幻灯片后,平滑滚动停止工作。 有谁知道jmpress插件足以理解为什么会发生冲突?

对不起我的英语不好

1 个答案:

答案 0 :(得分:0)

我不知道jmpress plugin但是你提到它与其他jquery冲突。如果是这样,那么将函数包装成这样:

(function($){

......
.......

})(jQuery);

您可以使用jQuery.noConflict()方法。