0

我不是 JS 专家,但我正在尝试更改它,以便如果有一个royalslider 显示它……如果没有显示静态图像以及标题和描述。关于为什么这不起作用的任何想法?我的头正在旋转……我在我试图添加到代码中的部分周围留了一些空间 //royal 滑块修复,目前它只显示 if 语句中的标题和描述。但是,标记显示滑块 div 并输出代码。

任何帮助将不胜感激!您可以预览此代码以及我在这里尝试执行的操作... http://bvh.delineamultimedia.com/?page_id=2

;(function($) {

$.fn.SuperBox = function(options) {

    var superbox      = $('<div class="superbox-show"></div>');
    var superboximg   = $('<img src="" class="superbox-current-img">');
    var superboxclose = $('<div class="superbox-close"></div>');

    superbox.append(superboximg).append(superboxclose);

    return this.each(function() {

        $('.superbox').on('click', '.superbox-list', function() {

            //allows for superbox to work inside of quicksand
            $('ul.filterable-grid').css({overflow: 'visible'});

            var currentimg = $(this).find('.superbox-img');
            superbox.find('.title').remove(); 
            superbox.find('.description').remove(); 

            var imgData = currentimg.data();
            superboximg.attr('src', imgData.img);
            if (imgData.title) { superbox.append('<h3 class="title">'+imgData.title+'</h3>'); }
            if (imgData.description) { superbox.append('<div class="description">' + imgData.description + '</div>'); }









//royal slider fix              
superbox.find('.royalSlider').remove(); // remove the slider from previous events
var imgData = currentimg.data();
var sliderData = currentimg.next('.royalSlider'); // grab the slider html that we want to insert

superboximg.attr('src', imgData.img); 

if (sliderData) { // show the slider if there is one
    superbox.clone().append(sliderData); // clone the element so we don't loose it for the next time the user clicks
} else { // if there is no slider proceed as before
    if (imgData.img) {
        superbox.append(imgData.img);
    }
    if (imgData.title) {
        superbox.append('<h3 class="title">' + imgData.title + '</h3>');
    }
    if (imgData.description) {
        superbox.append('<div class="description">' + imgData.description + '</div>');
    }
}












            if($('.superbox-current-img').css('opacity') == 0) {
                $('.superbox-current-img').animate({opacity: 1});
            }

            if ($(this).next().hasClass('superbox-show')) {
                superbox.toggle();
            } else {
                superbox.insertAfter(this).css('display', 'block');
            }

            $('html, body').animate({
                scrollTop:superbox.position().top - currentimg.width()
            }, 'medium');

        });


        $('.superbox').on('hover', '.superbox-list', function(e) {
            $(this).find('.overlay').stop()[(e.type == 'mouseenter') ? 'fadeIn' : 'fadeOut']('slow');
        });


        $('.superbox').on('click', '.superbox-close', function() {
            $('.superbox-current-img').animate({opacity: 100}, 200, function() {
                $('.superbox-show').slideUp();
            });
        });

    });
};

})(jQuery);
4

1 回答 1

0

这只是作为提示,而不是试图解决整个问题。

尝试这个:

var superbox      = $('<div class="superbox-show"/>');
var superboximg   = $('<img src="" class="superbox-current-img"/>');
var superboxclose = $('<div class="superbox-close"/>');

if (sliderData.length > 0)

imgData.img 的价值在哪里?

于 2013-03-28T13:57:11.213 回答