2

我正在使用革命滑块 5,它在桌面上完美运行,但在移动设备上它不会通过移动触摸滑动幻灯片。幻灯片会自动转动,但不会在手动滑动时滑动。你知道是什么原因造成的吗?

谢谢!

4

2 回答 2

5

它不起作用,因为您的幻灯片本身很可能是超链接的。

要解决此问题,请将此代码复制粘贴到滑块设置中的自定义 javascript 部分

(function() {

if(!('ontouchend' in document)) return;
var pageX, pageY, newX, newY, linked;

jQuery('.rev_slider').on('touchstart', function(event) {

    newX = newY = false;

    var target = jQuery(event.target),
    clas = target.attr('class');
    event = event.originalEvent;

    if(event.touches) event = event.touches[0];
    pageX = event.pageX;
    pageY = event.pageY;

    if(target.is('a') || target.closest('a').length) linked = target;

}).on('touchmove', function(event) {

    event = event.originalEvent;
    if(event.touches) event = event.touches[0];

    newX = event.pageX;
    newY = event.pageY;
    if(Math.abs(pageX - newX) > 10) event.preventDefault();

}).on('touchend', function(event) {

    if(newX !== false && Math.abs(pageX - newX) > 30) {

        eval('revapi' + jQuery(this).closest('.rev_slider_wrapper').attr('id').split('rev_slider_')[1].split('_')[0])[pageX > newX ? 'revnext' : 'revprev']();

    }
    else if((linked && newY === false) || (linked && Math.abs(pageY - newY) < 10)) {

        linked = linked.is('a') ? linked : linked.closest('a');
        if(linked.length) {

            if(linked.attr('target') === '_blank') {    
                window.open(linked.attr('href'));
            }
            else {
                window.location = linked.attr('href');
            }

        }

    }

    linked = newX = false;

});})();

这个问题也很好地记录在 Themepunch (插件的作者)http://www.themepunch.com/faq/mobile-touch-swipe-slide-links-5-0/

于 2015-10-17T17:27:16.580 回答
5

滑块革命触摸设置

根据开发者文档的定义,您可以在导航面板下的滑块设置中手动启用和禁用垂直拖动。

于 2016-12-12T16:24:13.100 回答