我最终将原始$.colorbox.close
函数保存在不同的变量中,并将函数设置$.colorbox.close
为不同的函数以打开我之前显示的信息。打开之前的信息(我有一个全功能打开),我恢复原来的$colorbox.close()
功能。
var currentTrip;
var originalClose;
function getOrig(){
return $.colorbox.close;
}
originalClose = getOrig();
function openTripModal(tripModal)
{
$.colorbox.close = originalClose;
$.colorbox(
{
html: tripModal,
onComplete: function(){
$(".photos").colorbox(
{
html: createTripSlideshow(currentTrip.id),
onComplete: function(){
thumbs$ = $('.trip-thumbnails')
.anythingSlider({
mode: "horizontal",
buildArrows : false, // If true, builds the forwards and backwards buttons
buildNavigation : false, // If true, builds a list of anchor links to link to each panel
buildStartStop : false, // If true, builds the start/stop button autoPlay: true,
width: 138,
height: 80,
hashTags: false,
showMultiple: 6,
changeBy: 1,
animationTime: 0
});
thumbs = thumbs$.data('AnythingSlider');
slider$ = $('.trip-slideshow')
.anythingSlider({
mode: "horizontal",
buildArrows : false, // If true, builds the forwards and backwards buttons
buildNavigation : false, // If true, builds a list of anchor links to link to each panel
buildStartStop : false, // If true, builds the start/stop button autoPlay: true,
width: 570,
hashTags: false,
height: 380,
onSlideComplete : function()
{
slideTemp = slider$.data('AnythingSlider');
$('.slideshow-title .slide-number').text( slideTemp.currentPage + " / " + slideTemp.pages );
$('.thumbclick').removeClass('active');
$(".trip-thumbnails").find("li:eq("+slideTemp.currentPage+")").find("img").addClass('active');
}
});
slider = slider$.data('AnythingSlider');
$(".slideshow-wrap .next-arrow").click(function(){
slider.goForward();
if( !slider.playing )
{
$('.slides-play').removeClass('pause');
slider.startStop( slider.playing );
}
});
$(".slideshow-wrap .prev-arrow").click(function(){
slider.goBack();
if( !slider.playing )
{
$('.slides-play').removeClass('pause');
slider.startStop( slider.playing );
}
});
$(".slideshow-wrap .slides-play").click(function(){
var play = slider.playing;
if(!play)
$('.slides-play').addClass("pause");
else
$('.slides-play').removeClass("pause");
slider.startStop( !play );
});
$(".thumbnail.next-arrow").click(function(){
thumbs.goForward();
});
$(".thumbnail.prev-arrow").click(function(){
thumbs.goBack();
});
$.colorbox.close = function(){
slider.startStop(false);
$('trip-slideshow').remove();
$('trip-thumbnails').remove();
var modal = createTripModal(currentTrip);
openTripModal ( modal );
}
$(".thumbclick").click(function()
{
var len = this.src.length;
var index = this.src.substring( len - 6, len - 4 );
index = parseInt(index, 10);
$('.trip-thumbnails').anythingSlider( index );
$('.trip-slideshow').anythingSlider( index );
$('.slides-play').removeClass('pause');
});
}
}
);// end photos modal
var formHtml = createFormHtml(currentTrip);
$(".request-info").colorbox(
{
html: formHtml,
onComplete: function()
{
$.colorbox.close = function(){
var modal = createTripModal(currentTrip);
openTripModal ( modal );
}
$('.trip-information-request .cancel').click(function()
{
$.colorbox.close();
}
);
$('.trip-information-request form').validate(
{
rules: {
f_firstname: "required",
f_lastname: "required",
f_email: "required email",
f_phone: "required"
},
messages: {
f_firstname: "Please provide your first name",
f_lastname: "Please provide your last name",
f_email:{
required: "Please enter your email",
email: "Please enter a valid email"
},
f_phone: "Please provide your phone number"
},
submitHandler: function( )
{
//submit code
alert("validation successully passed");
var thankYou =" <div class='trip-information-request'>\
<p class='trip-thank-you-header'>Thank you!</p>\
<p class='trip-thank-you'>\
We've received your email and will respond within 2 business days.\
</p>\
<p class='trip-thank-you'>\
If you have any additional questions, please contact us at 1.xxx.xxx.xxxx.\
</p>\
<div class='trip-thank-you return'>\
return to trips\
</div>\
</div>";
$.colorbox({html:thankYou, onComplete: function(){ $('.trip-thank-you.return').click(function(){ $.colorbox.close();}); }});
}
}
);
$('.trip-information-request .submit').click(function(){$('.trip-information-request form').submit(); $.colorbox.resize(); });
}
}
);
}//end oncomplete function
}
);
}