完整的背景图片幻灯片jquery,想让幻灯片的最后一张图片可点击

时间:2013-11-29 17:19:29

标签: javascript jquery html css image

这可能是一个新手问题,如果答案显而易见,请原谅我。我做了一个搜索,以避免重新询问,但我想要的是非常具体的,我想知道它是否可能实现。

我使用以下jquery代码进行背景图像幻灯片放映。我使用图像的顺序进行演示。最后一张图片,我希望它可以点击。但只有最后一张图片。

对于一个想法,请看看到目前为止我做了什么:http://www.gulfandlevant.co.uk/taki/index09.html

我正在使用以下插件:BGSLIDER-INIT.JS

/*global $:false */
/*global window: false */

(function(){
  "use strict";


$(function ($) {

//BG SLIDESHOW WITH ZOOM EFFECT
$.mbBgndGallery.buildGallery({
            containment:"body",
            timer:1300,
            effTimer:1300,
            controls:false, //updated in v1.1
            grayScale:false,
            shuffle:false,
            preserveWidth:false,
            preserveTop: true,
            effect:"fade",
//effect:{enter:{transform:"scale("+(1+ Math.random()*2)+")",opacity:0},exit:{transform:"scale("+(Math.random()*2)+")",opacity:0}},

            // If your server allow directory listing you can use:
            // (however this doesn't work locally on your computer)

            //folderPath:"testImage/",

            // else:

             images:[
             "images/bg/01.jpg",
             "images/bg/02.jpg",
            "images/bg/03.jpg",
            "images/bg/04.jpg",
            "images/bg/05.jpg",
            "images/bg/06.jpg",





             ],

            onStart:function(){},
            onPause:function(){},
            onPlay:function(opt){},
            onChange:function(opt,idx){},
            onNext:function(opt){},
            onPrev:function(opt){}
        });



});
// $(function ($)  : ends

})();
//  JSHint wrapper $(function ($)  : ends

最后一张图片,image06我希望它可以点击,我究竟需要添加什么才能实现这种效果。我想将它链接到我页面上的一个部分并添加一个滚动类。

2 个答案:

答案 0 :(得分:0)

幻灯片显示正在设置div类“mbBgndGallery”的背景。幻灯片显示对我来说不是很正常,但我认为这个插件只是替换img src。所以,对插件一无所知,我会假设你知道哪张图片是幻灯片中的最后一张图片。在这种情况下,它看起来像“images / bg / 06.jpg” 是最后一张图片。所以我会写这样的东西。

 if($('.mbBgndGallery img').attr('src') === 'images/bg/06.jpg') {
     $('.mbBgndGallery').on('click', function() {
         window.location = "someURL.com";
     });
 }

当然,这个if语句只会在加载页面时发生。此代码应直接添加到插件本身,但如果您不知道如何操作,我建议设置一个间隔,每次更改图像时都要检查。看起来好像每1300毫秒更换一次图像。因此,设置相同时间的间隔。有轻微的偏移。

 var i = setInterval(function() {
    if($('.mbBgndGallery img').attr('src') === 'images/bg/06.jpg') {
       $('.mbBgndGallery').on('click', function() {
           window.location = "someURL.com";
       });
    }
 }, 1350);  

答案 1 :(得分:0)

使用jQuery的.click():

$('.mbBgndGallery').click(function() {
    $(this).find('img').each(function() {
        if( $(this).attr('src') == 'images/bg/06.jpg' )
            DO CLICK STUFF
    });
});