Modify thickbox.js to support more mouse click actions, and add related options.

* Add the following 'Mouse Click' actions/options
   * Image: Next, Prev / Next (click on the left/right side of image)
   * Image (First / Last): Close, None, Loop (Last / First)
     * will be disabled when [Image - Close or None] item are selected (JavaScript)
 * Create prev/next/first/last icons
   * these icons & close icon are displayed on the left/right side of image when hovering image
 * Append first/last string to thickboxL10n object at wp_localize_script() call
This commit is contained in:
attosoft committed 2012-02-21 08:18:01 +00:00
1 parent 10cdd1b6c8
commit 37849a7f5f
10 files changed
+134 -8

No files matched your search

+32 -3
View File
@@ -132,6 +132,8 @@ class auto_thickbox {
wp_localize_script('thickbox', 'thickboxL10n', array(
'next' => $this->txt_next,
'prev' => $this->txt_prev,
'first' => $this->txt_first,
'last' => $this->txt_last,
'image' => $this->txt_image,
'of' => $this->txt_of,
'close' => $this->txt_close,
@@ -169,6 +171,8 @@ class auto_thickbox {
if ( !$this->is_default_options('click_img') )
$script .= "var tb_click_img = '{$this->options['click_img']}';\n";
if ( !$this->is_default_options('click_end') )
$script .= "var tb_click_end = '{$this->options['click_end']}';\n";
if ( !$this->is_default_options('click_bg') )
$script .= "var tb_click_bg = '{$this->options['click_bg']}';\n";
if ( !$this->is_default_options('wheel_img') )
@@ -268,15 +272,23 @@ class auto_thickbox {
add_options_page($this->txt_options, AUTO_THICKBOX_PLUS, 'manage_options', $this->base_dir, array(&$this, 'auto_thickbox_options'));
}
function auto_thickbox_options() {
$click_end_disabled = in_array($this->options['click_img'], array('close', 'none'));
?>
<div class="wrap">
<style type="text/css">
label.item { margin-right:3px; }
.form-table th { width: 190px; }
</style>
<script type="text/javascript">
function disable_click_end(disabled) {
disabled = typeof disabled === 'boolean' ? disabled : true;
for (var i = 0; i < document.form['auto-thickbox-plus[click_end]'].length; i++)
document.form['auto-thickbox-plus[click_end]'][i].disabled = disabled;
}
</script>
<?php screen_icon(); ?>
<h2><?php echo $this->txt_options; ?></h2>
<form method="post" action="options.php">
<form method="post" action="options.php" name="form">
<?php settings_fields( 'auto-thickbox-plus-options' ); ?>
<h3><?php _e('General'); ?></h3>
<table class="form-table">
@@ -312,10 +324,26 @@ class auto_thickbox {
<th scope="row"><?php _e('Mouse Click', 'auto-thickbox'); ?></th>
<th scope="row"><?php echo $this->txt_image; ?></th>
<td>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="close"<?php checked($this->options['click_img'], 'close'); ?> />
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="close"<?php checked($this->options['click_img'], 'close'); ?> onclick="disable_click_end()" />
<?php echo $this->txt_close; ?></label>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="none"<?php checked($this->options['click_img'], 'none'); ?> />
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="none"<?php checked($this->options['click_img'], 'none'); ?> onclick="disable_click_end()" />
<?php _e('None'); ?></label>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="next"<?php checked($this->options['click_img'], 'next'); ?> onclick="disable_click_end(false)" />
<?php echo $this->txt_next2; ?></label>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_img]" value="prev_next"<?php checked($this->options['click_img'], 'prev_next'); ?> onclick="disable_click_end(false)" />
<?php echo $this->txt_prev2; ?> / <?php echo $this->txt_next2; ?></label>
</td>
</tr>
<tr style="vertical-align: top;">
<th scope="row"></th>
<th scope="row"><?php echo $this->txt_image; ?> (<?php echo $this->txt_first2; ?> / <?php echo $this->txt_last2; ?>)</th>
<td>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_end]" value="close"<?php checked($this->options['click_end'], 'close'); disabled($click_end_disabled); ?> />
<?php echo $this->txt_close; ?></label>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_end]" value="none"<?php checked($this->options['click_end'], 'none'); disabled($click_end_disabled); ?> />
<?php _e('None'); ?></label>
<label class="item"><input type="radio" name="auto-thickbox-plus[click_end]" value="loop"<?php checked($this->options['click_end'], 'loop'); disabled($click_end_disabled); ?> />
<?php _e('Loop', 'auto-thickbox'); ?></label>
</td>
</tr>
<tr style="vertical-align: top;">
@@ -585,6 +613,7 @@ if ( is_admin() ) {
'thickbox_text' => 'auto',
'builtin_res' => 'off',
'click_img' => 'close',
'click_end' => 'loop',
'click_bg' => 'close',
'wheel_img' => 'prev_next',
'key_close_esc' => 'on',
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

+9
View File
@@ -12,6 +12,15 @@
#TB_window{position:fixed;background:#ffffff;z-index:10102;color:#000000;visibility:hidden;text-align:left;top:50%;left:50%;border:1px solid #555;-moz-box-shadow:rgba(0,0,0,1) 0 4px 30px;-webkit-box-shadow:rgba(0,0,0,1) 0 4px 30px;-khtml-box-shadow:rgba(0,0,0,1) 0 4px 30px;box-shadow:rgba(0,0,0,1) 0 4px 30px;}
* html #TB_window{position:absolute;margin-top:expression(0 - parseInt(this.offsetHeight/2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');}
#TB_window img#TB_Image{display:block;margin:15px 0 0 15px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:1px solid #666;border-left:1px solid #666;}
#TB_ImageClick a{display:block;position:absolute;top:0;width:100%;background:url(images/blank.gif) no-repeat left;}
#TB_ImageClick a.TB_ImageLeft{left:0;width:35%;background-position:left;}
#TB_ImageClick a.TB_ImageRight{right:0;width:35%;background-position:right;}
#TB_ImageClick a#TB_ImagePrev:hover{background-image:url(images/tb-prev.png);}
#TB_ImageClick a#TB_ImageNext:hover{background-image:url(images/tb-next.png);}
#TB_ImageClick a#TB_ImageFirst:hover{background-image:url(images/tb-first.png);}
#TB_ImageClick a#TB_ImageLast:hover{background-image:url(images/tb-last.png);}
#TB_ImageClick a#TB_ImageClose:hover{background-image:url(../../../wp-includes/js/thickbox/tb-close.png);}
#TB_ImageClick a span{display:block;height:100%;background:inherit;background-position:right;}
#TB_caption{height:25px;padding:7px 30px 10px 25px;float:left;}
.TB_single #TB_caption{padding-bottom:0;}
#TB_closeWindow{height:25px;padding:11px 25px 10px 0;float:right;}
+8 -3
View File
@@ -1,6 +1,6 @@
if(typeof tb_pathToImage!='string'){var tb_pathToImage=thickboxL10n.loadingAnimation;}
if(typeof tb_closeImage!='string'){var tb_closeImage=thickboxL10n.closeImage;}
if(typeof tb_click_img==="undefined")var tb_click_img="close";if(typeof tb_click_bg==="undefined")var tb_click_bg="close";if(typeof tb_wheel_img==="undefined")var tb_wheel_img="prev_next";if(typeof tb_keys_close==="undefined")var tb_keys_close=[27,13];if(typeof tb_keys_prev==="undefined")var tb_keys_prev=[188,37];if(typeof tb_keys_next==="undefined")var tb_keys_next=[190,39];if(typeof tb_keys_first==="undefined")var tb_keys_first=[36];if(typeof tb_keys_last==="undefined")var tb_keys_last=[35];jQuery(document).ready(function(){tb_init('a.thickbox, area.thickbox, input.thickbox');imgLoader=new Image();imgLoader.src=tb_pathToImage;});function tb_init(domChunk){jQuery(domChunk).live('click',tb_click);}
if(typeof tb_click_img==="undefined")var tb_click_img="close";if(typeof tb_click_end==="undefined")var tb_click_end="loop";if(typeof tb_click_bg==="undefined")var tb_click_bg="close";if(typeof tb_wheel_img==="undefined")var tb_wheel_img="prev_next";if(typeof tb_keys_close==="undefined")var tb_keys_close=[27,13];if(typeof tb_keys_prev==="undefined")var tb_keys_prev=[188,37];if(typeof tb_keys_next==="undefined")var tb_keys_next=[190,39];if(typeof tb_keys_first==="undefined")var tb_keys_first=[36];if(typeof tb_keys_last==="undefined")var tb_keys_last=[35];jQuery(document).ready(function(){tb_init('a.thickbox, area.thickbox, input.thickbox');imgLoader=new Image();imgLoader.src=tb_pathToImage;});function tb_init(domChunk){jQuery(domChunk).live('click',tb_click);}
function tb_click(){var t=this.title||this.name||null;var a=this.href||this.alt;var g=this.rel||false;tb_show(t,a,g);this.blur();return false;}
function tb_show(caption,url,imageGroup){try{if(typeof document.body.style.maxHeight==="undefined"){jQuery("body","html").css({height:"100%",width:"100%"});jQuery("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){jQuery("body").append("<iframe id='TB_HideSelect'>"+thickboxL10n.noiframes+"</iframe><div id='TB_overlay'></div><div id='TB_window'></div>");if(tb_click_bg=="close")
jQuery("#TB_overlay").click(tb_remove);}}else{if(document.getElementById("TB_overlay")===null){jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");if(tb_click_bg=="close")
@@ -11,19 +11,24 @@ jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>")
var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$|\.webp$/;var urlType=baseURL.toLowerCase().match(urlString);if(urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'||urlType=='.bmp'||urlType=='.webp'){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;TB_FirstCaption="";TB_FirstURL="";TB_LastCaption="";TB_LastURL="";if(imageGroup){TB_TempArray=jQuery("a[rel="+imageGroup+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var urlTypeTemp=TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);if(!(TB_TempArray[TB_Counter].href==url)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.next+"</a></span>";}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.prev+"</a></span>";}}else{TB_FoundURL=true;TB_imageCount=thickboxL10n.image+' '+(TB_Counter+1)+' '+thickboxL10n.of+' '+(TB_TempArray.length);}}
TB_FirstCaption=TB_TempArray[0].title;TB_FirstURL=TB_TempArray[0].href;TB_LastCaption=TB_TempArray[TB_TempArray.length-1].title;TB_LastURL=TB_TempArray[TB_TempArray.length-1].href;}
imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var pagesize=tb_getPageSize();var x=pagesize[0]-150;var y=pagesize[1]-150;var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.height;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;}}
TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;TB_Image="<img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/>";if(tb_click_img=="close")
TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;TB_Image="<img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/>";if(tb_click_img=="close"||(!imageGroup&&tb_click_end=="close"))
TB_Image="<a href='' id='TB_ImageOff' title='"+thickboxL10n.close+"'>"+TB_Image+"</a>";jQuery("#TB_window").append(TB_Image+"<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>"+TB_imageCount+TB_PrevHTML+TB_NextHTML+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='"+thickboxL10n.close+"'><img src='"+tb_closeImage+"' /></a></div>");if(TB_imageCount==="")
jQuery("#TB_window").addClass("TB_single");TB_WIDTH+=jQuery("#TB_Image").outerWidth()-jQuery("#TB_Image").innerWidth();TB_HEIGHT+=jQuery("#TB_Image").outerHeight()-jQuery("#TB_Image").innerHeight();jQuery("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){function goPrev(){if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);}
jQuery("#TB_window").remove();jQuery("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,imageGroup);return false;}
jQuery("#TB_prev").click(goPrev);function goFirst(){jQuery("#TB_window").remove();jQuery("body").append("<div id='TB_window'></div>");tb_show(TB_FirstCaption,TB_FirstURL,imageGroup);return false;}}
if(!(TB_NextHTML==="")){function goNext(){jQuery("#TB_window").remove();jQuery("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,imageGroup);return false;}
jQuery("#TB_next").click(goNext);function goLast(){jQuery("#TB_window").remove();jQuery("body").append("<div id='TB_window'></div>");tb_show(TB_LastCaption,TB_LastURL,imageGroup);return false;}}
if(imageGroup&&tb_click_img=="next"){var id,title,handler;if(!(TB_NextHTML=="")){id="TB_ImageNext";title=thickboxL10n.next;handler=goNext;}else{if(tb_click_end=="close"){id="TB_ImageClose";title=thickboxL10n.close;handler=tb_remove;}else if(tb_click_end=="loop"){id="TB_ImageFirst";title=thickboxL10n.first;handler=goFirst;}}
if(id&&title&&handler){var height=jQuery("#TB_Image").outerHeight(true);jQuery("#TB_window").append("<div id='TB_ImageClick'><a href='' id='"+id+"' title='"+title+"' style='height:"+height+"px;'><span></span></a></div>");jQuery("#"+id).click(handler);}}else if(imageGroup&&tb_click_img=="prev_next"){var id,title,handler,id2,title2,handler2;if(!(TB_PrevHTML=="")){id="TB_ImagePrev";title=thickboxL10n.prev;handler=goPrev;}
if(!(TB_NextHTML=="")){id2="TB_ImageNext";title2=thickboxL10n.next;handler2=goNext;}
if(TB_PrevHTML==""){if(tb_click_end=="close"){id="TB_ImageClose";title=thickboxL10n.close;handler=tb_remove;}else if(tb_click_end=="loop"){id="TB_ImageLast";title=thickboxL10n.last;handler=goLast;}}else if(TB_NextHTML==""){if(tb_click_end=="close"){id2="TB_ImageClose";title2=thickboxL10n.close;handler2=tb_remove;}else if(tb_click_end=="loop"){id2="TB_ImageFirst";title2=thickboxL10n.first;handler2=goFirst;}}
if((id&&title&&handler)||(id2&&title2&&handler2)){var height=jQuery("#TB_Image").outerHeight(true);var link=link2="";if(id&&title&&handler)link="<a href='' id='"+id+"' class='TB_ImageLeft' title='"+title+"' style='height:"+height+"px;'></a>";if(id2&&title2&&handler2)link2="<a href='' id='"+id2+"' class='TB_ImageRight' title='"+title2+"' style='height:"+height+"px;'></a>";jQuery("#TB_window").append("<div id='TB_ImageClick'>"+link+link2+"</div>");if(link)jQuery("#"+id).click(handler);if(link2)jQuery("#"+id2).click(handler2);}}
jQuery(document).bind('keydown.thickbox',function(e){e.stopImmediatePropagation();if(jQuery.inArray(e.which,tb_keys_close)!=-1){if(!jQuery(document).triggerHandler('wp_CloseOnEscape',[{event:e,what:'thickbox',cb:tb_remove}]))
tb_remove();}else if(jQuery.inArray(e.which,tb_keys_prev)!=-1||(e.shiftKey&&jQuery.inArray(e.which,tb_keys_prev['shift'])!=-1)){if(!(TB_PrevHTML=="")){jQuery(document).unbind('thickbox');goPrev();}}else if(jQuery.inArray(e.which,tb_keys_next)!=-1){if(!(TB_NextHTML=="")){jQuery(document).unbind('thickbox');goNext();}}else if(jQuery.inArray(e.which,tb_keys_first)!=-1){if(!(TB_PrevHTML=="")){jQuery(document).unbind('thickbox');goFirst();}}else if(jQuery.inArray(e.which,tb_keys_last)!=-1){if(!(TB_NextHTML=="")){jQuery(document).unbind('thickbox');goLast();}}
return false;});if(tb_wheel_img=="prev_next"){jQuery("#TB_window").bind('mousewheel.thickbox',function(e){e.stopImmediatePropagation();var delta=0;if(!event)
event=window.event;if(event.wheelDelta){delta=event.wheelDelta;}else if(event.detail){delta=-event.detail;}
if(delta>0){if(!(TB_PrevHTML=="")){jQuery(document).unbind('thickbox');goPrev();return false;}}else if(delta<0){if(!(TB_NextHTML=="")){jQuery(document).unbind('thickbox');goNext();return false;}}});}
tb_position();jQuery("#TB_load").remove();if(tb_click_img=="close")
tb_position();jQuery("#TB_load").remove();if(tb_click_img=="close"||(!imageGroup&&tb_click_end=="close"))
jQuery("#TB_ImageOff").click(tb_remove);jQuery("#TB_window").css({'visibility':'visible'});};imgPreloader.src=url;}else{var queryString=url.replace(/^[^\?]+\??/,'');var params=tb_parseQuery(queryString);TB_WIDTH=(params['width']*1)+30||630;TB_HEIGHT=(params['height']*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(url.indexOf('TB_iframe')!=-1){urlNoQuery=url.split('TB_');jQuery("#TB_iframeContent").remove();if(params['modal']!="true"){jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='"+thickboxL10n.close+"'><img src='"+tb_closeImage+"' /></a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' >"+thickboxL10n.noiframes+"</iframe>");}else{jQuery("#TB_overlay").unbind();jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'>"+thickboxL10n.noiframes+"</iframe>");}}else{if(jQuery("#TB_window").css("visibility")!="visible"){if(params['modal']!="true"){jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'><img src='"+tb_closeImage+"' /></a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");}else{jQuery("#TB_overlay").unbind();jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");}}else{jQuery("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";jQuery("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";jQuery("#TB_ajaxContent")[0].scrollTop=0;jQuery("#TB_ajaxWindowTitle").html(caption);}}
jQuery("#TB_closeWindowButton").click(tb_remove);if(url.indexOf('TB_inline')!=-1){jQuery("#TB_ajaxContent").append(jQuery('#'+params['inlineId']).children());jQuery("#TB_window").bind('tb_unload',function(){jQuery('#'+params['inlineId']).append(jQuery("#TB_ajaxContent").children());});tb_position();jQuery("#TB_load").remove();jQuery("#TB_window").css({'visibility':'visible'});}else if(url.indexOf('TB_iframe')!=-1){tb_position();if(jQuery.browser.safari){jQuery("#TB_load").remove();jQuery("#TB_window").css({'visibility':'visible'});}}else{var sign=(url.indexOf('?')==-1)?'?':'&';jQuery("#TB_ajaxContent").load(url+=sign+"random="+(new Date().getTime()),function(){tb_position();jQuery("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");jQuery("#TB_window").css({'visibility':'visible'});});}}
if(!params['modal']){jQuery(document).bind('keyup.thickbox',function(e){if(e.which==27){e.stopImmediatePropagation();if(!jQuery(document).triggerHandler('wp_CloseOnEscape',[{event:e,what:'thickbox',cb:tb_remove}]))
+16
View File
@@ -74,6 +74,22 @@ margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = d
border-left: 1px solid #666;
}
#TB_ImageClick a {
display: block;
position: absolute;
top: 0;
width: 100%;
background: url(images/blank.gif) no-repeat left; /* blank.gif is for IE6/7/8 hack */
}
#TB_ImageClick a.TB_ImageLeft { left: 0; width: 35%; background-position: left; }
#TB_ImageClick a.TB_ImageRight { right: 0; width: 35%; background-position: right; }
#TB_ImageClick a#TB_ImagePrev:hover { background-image: url(images/tb-prev.png); }
#TB_ImageClick a#TB_ImageNext:hover { background-image: url(images/tb-next.png); }
#TB_ImageClick a#TB_ImageFirst:hover { background-image: url(images/tb-first.png); }
#TB_ImageClick a#TB_ImageLast:hover { background-image: url(images/tb-last.png); }
#TB_ImageClick a#TB_ImageClose:hover { background-image: url(../../../wp-includes/js/thickbox/tb-close.png); }
#TB_ImageClick a span { display: block; height: 100%; background: inherit; background-position: right; }
#TB_caption{
height:25px;
padding:7px 30px 10px 25px;
+69 -2
View File
@@ -15,6 +15,7 @@ if ( typeof tb_closeImage != 'string' ) {
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
if ( typeof tb_click_img === "undefined" ) var tb_click_img = "close";
if ( typeof tb_click_end === "undefined" ) var tb_click_end = "loop";
if ( typeof tb_click_bg === "undefined" ) var tb_click_bg = "close";
if ( typeof tb_wheel_img === "undefined" ) var tb_wheel_img = "prev_next";
if ( typeof tb_keys_close === "undefined" ) var tb_keys_close = [27, 13]; // Esc, Enter
@@ -152,7 +153,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
TB_WIDTH = imageWidth + 30;
TB_HEIGHT = imageHeight + 60;
TB_Image = "<img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/>";
if (tb_click_img == "close")
if (tb_click_img == "close" || (!imageGroup && tb_click_end == "close"))
TB_Image = "<a href='' id='TB_ImageOff' title='"+thickboxL10n.close+"'>" + TB_Image + "</a>";
jQuery("#TB_window").append(TB_Image + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='"+thickboxL10n.close+"'><img src='" + tb_closeImage + "' /></a></div>");
if (TB_imageCount === "")
@@ -197,6 +198,72 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
}
}
if (imageGroup && tb_click_img == "next") {
var id, title, handler;
if (!(TB_NextHTML == "")) {
id = "TB_ImageNext";
title = thickboxL10n.next;
handler = goNext;
} else {
if (tb_click_end == "close") {
id = "TB_ImageClose";
title = thickboxL10n.close;
handler = tb_remove;
} else if (tb_click_end == "loop") {
id = "TB_ImageFirst";
title = thickboxL10n.first;
handler = goFirst;
}
}
if (id && title && handler) {
var height = jQuery("#TB_Image").outerHeight(true);
jQuery("#TB_window").append("<div id='TB_ImageClick'><a href='' id='"+id+"' title='"+title+"' style='height:"+height+"px;'><span></span></a></div>");
jQuery("#"+id).click(handler);
}
} else if (imageGroup && tb_click_img == "prev_next") {
var id, title, handler, id2, title2, handler2;
if (!(TB_PrevHTML == "")) {
id = "TB_ImagePrev";
title = thickboxL10n.prev;
handler = goPrev;
}
if (!(TB_NextHTML == "")) {
id2 = "TB_ImageNext";
title2 = thickboxL10n.next;
handler2 = goNext;
}
if (TB_PrevHTML == "") {
if (tb_click_end == "close") {
id = "TB_ImageClose";
title = thickboxL10n.close;
handler = tb_remove;
} else if (tb_click_end == "loop") {
id = "TB_ImageLast";
title = thickboxL10n.last;
handler = goLast;
}
} else if (TB_NextHTML == "") {
if (tb_click_end == "close") {
id2 = "TB_ImageClose";
title2 = thickboxL10n.close;
handler2 = tb_remove;
} else if (tb_click_end == "loop") {
id2 = "TB_ImageFirst";
title2 = thickboxL10n.first;
handler2 = goFirst;
}
}
if ((id && title && handler) || (id2 && title2 && handler2)) {
var height = jQuery("#TB_Image").outerHeight(true);
var link = link2 = "";
if (id && title && handler) link = "<a href='' id='"+id+"' class='TB_ImageLeft' title='"+title+"' style='height:"+height+"px;'></a>";
if (id2 && title2 && handler2) link2 = "<a href='' id='"+id2+"' class='TB_ImageRight' title='"+title2+"' style='height:"+height+"px;'></a>";
jQuery("#TB_window").append("<div id='TB_ImageClick'>"+link+link2+"</div>");
if (link) jQuery("#"+id).click(handler);
if (link2) jQuery("#"+id2).click(handler2);
}
}
jQuery(document).bind('keydown.thickbox', function(e){
e.stopImmediatePropagation();
@@ -260,7 +327,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
tb_position();
jQuery("#TB_load").remove();
if (tb_click_img == "close")
if (tb_click_img == "close" || (!imageGroup && tb_click_end == "close"))
jQuery("#TB_ImageOff").click(tb_remove);
jQuery("#TB_window").css({'visibility':'visible'}); //for safari using css instead of show
};