Slider Images not displaying properly (

Viewing 6 posts - 1 through 6 (of 6 total)
  • #4185
    gfru
    Participant

    so i am a total newb! never touch php or js before. But i have modified the kwicks.js file to show the slider images correctly for anyone that wants to get them to work correctly before the new release is pushed out. This took me ages, as i said total newb!

    make sure you backup the original before you paste the following in! all care no responsibility

    /*
    	Kwicks for jQuery (version 1.5.1)
    	Copyright (c) 2008 Jeremy Martin
    	http://www.jeremymartin.name/projects.php?project=kwicks
    	
    	Licensed under the MIT license:
    		http://www.opensource.org/licenses/mit-license.php
    
    	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
    */
    
    (function(jQuery){
    	jQuery.fn.kwicks = function(options) {
    		var defaults = {
    			isVertical: false,
    			sticky: false,
    			defaultKwick: 0,
    			event: 'mouseover',
    			spacing: 0,
    			duration: 500
    		};
    		var o = jQuery.extend(defaults, options);
    		var WoH = (o.isVertical ? 'height' : 'width'); // WoH = Width or Height
    		var LoT = (o.isVertical ? 'top' : 'left'); // LoT = Left or Top
    		
    		return this.each(function() {
    			container = jQuery(this);
    			var kwicks = container.children('li');
    			var normWoH = kwicks.eq(0).css(WoH).replace(/px/,''); // normWoH = Normal Width or Height
    			if(!o.max) {
    				// Added GFru 15-March-2012 9:26pm
    				// changed the following
    
    				//o.max = (normWoH * kwicks.size()) - (o.min * (kwicks.size() - 1));
    
    				// to the following
    				o.max = normWoH * kwicks.size() < 605 ? 605 : (normWoH * kwicks.size()) - (o.min * (kwicks.size() - 1));
    			} else {
    				// Added GFru 15-March-2012 9:26pm
    				// changed the following
    
    				//o.min = ((normWoH * kwicks.size()) - o.max) / (kwicks.size() - 1);
    
    				// to the following
    				o.min = normWoH * kwicks.size() < 605 ? 0 : ((normWoH * kwicks.size()) - o.max) / (kwicks.size() - 1);
    			}
    			// set width of container ul
    			if(o.isVertical) {
    				container.css({
    					width : kwicks.eq(0).css('width'),
    					height : (normWoH * kwicks.size()) + (o.spacing * (kwicks.size() - 1)) + 'px'
    				});				
    			} else {
    					// Added GFru 15-March-2012 9:26pm
    					// replaced the following
    
    					//width : (normWoH * kwicks.size()) + (o.spacing * (kwicks.size() - 1)) + 'px'),	
    
    					// with the following
    					container.css({
    					width : (normWoH * kwicks.size() < 605 ? 605 + (o.spacing * (kwicks.size() - 1)) + 'px' : (normWoH * kwicks.size()) + (o.spacing * (kwicks.size() - 1)) + 'px'),	
    					height : kwicks.eq(0).css('height')
    				});				
    			}
    
    			// pre calculate left or top values for all kwicks but the first and last
    			// i = index of currently hovered kwick, j = index of kwick we're calculating
    			var preCalcLoTs = []; // preCalcLoTs = pre-calculated Left or Top's
    			for(i = 0; i < kwicks.size(); i++) {
    				preCalcLoTs[i] = [];
    				// don't need to calculate values for first or last kwick
    				for(j = 1; j < kwicks.size() - 1; j++) {
    					if(i == j) {
    						preCalcLoTs[i][j] = o.isVertical ? j * o.min + (j * o.spacing) : j * o.min + (j * o.spacing);
    					} else {
    						preCalcLoTs[i][j] = (j <= i ? (j * o.min) : (j-1) * o.min + o.max) + (j * o.spacing);
    					}
    				}
    			}
    			
    			// loop through all kwick elements
    			kwicks.each(function(i) {
    				var kwick = jQuery(this);
    				// set initial width or height and left or top values
    				// set first kwick
    				if(i === 0) {
    					kwick.css(LoT, '0px');
    				} 
    				// set last kwick
    				else if(i == kwicks.size() - 1) {
    					kwick.css(o.isVertical ? 'bottom' : 'right', '0px');
    				}
    				// set all other kwicks
    				else {
    					if(o.sticky) {
    						kwick.css(LoT, preCalcLoTs[o.defaultKwick][i]);
    					} else {
    						kwick.css(LoT, (i * normWoH) + (i * o.spacing));
    					}
    				}
    				// correct size in sticky mode
    				if(o.sticky) {
    					if(o.defaultKwick == i) {
    						kwick.css(WoH, o.max + 'px');
    						kwick.addClass('active');
    					} else {
    						kwick.css(WoH, o.min + 'px');
    					}
    				}
    				kwick.css({
    					margin: 0,
    					position: 'absolute'
    				});
    
    				// Start Added GFru 15-March-2012 9:26pm
    				//added to initialise the width of the kwicks if total width is less than one whole picture width
    				if (normWoH * kwicks.size() < 605) {
    					if (i == 0) {
    						kwicks.eq(i).css({
    							width: 605 - (kwicks.size() - 1) * 230 + 'px'
    						});
    					}
    				}
    				// End
    
    				kwick.bind(o.event, function() {
    					// calculate previous width or heights and left or top values
    					var prevWoHs = []; // prevWoHs = previous Widths or Heights
    					var prevLoTs = []; // prevLoTs = previous Left or Tops
    					kwicks.stop().removeClass('active');
    					for(j = 0; j  0 && j < kwicks.size() - 1) { // if not the first or last kwick
    									kwicks.eq(j).css(LoT, prevLoTs[j] - ((prevLoTs[j] - preCalcLoTs[i][j]) * percentage) + 'px');
    								}
    							});
    						},
    						duration: o.duration,
    						easing: o.easing
    					});
    				});
    			});
    			if(!o.sticky) {
    				container.bind("mouseleave", function() {
    					var prevWoHs = [];
    					var prevLoTs = [];
    					kwicks.removeClass('active').stop();
    					for(i = 0; i < kwicks.size(); i++) {
    						prevWoHs[i] = kwicks.eq(i).css(WoH).replace(/px/, '');
    						prevLoTs[i] = kwicks.eq(i).css(LoT).replace(/px/, '');
    					}
    					var aniObj = {};
    					// Added GFru 15-March-2012 9:26pm
    					// Replaced the following
    					
    					//aniObj[WoH] = normWoH;
    					//var normDif = normWoH - prevWoHs[0];
    
    					// with the following
    					aniObj[WoH] = normWoH * kwicks.size() < 605 ? 605 - (kwicks.size() - 1) * 230 : normWoH;
    					var normDif = normWoH * kwicks.size() < 605 ? 605 - (kwicks.size() - 1) * 230 - prevWoHs[0] : normWoH - prevWoHs[0];
    					kwicks.eq(0).animate(aniObj, {
    						step: function(now) {
    							var percentage = normDif != 0 ? (now - prevWoHs[0])/normDif : 1;
    							for(i = 1; i < kwicks.size(); i++) {
    								kwicks.eq(i).css(WoH, prevWoHs[i] - ((prevWoHs[i] - normWoH) * percentage) + 'px');
    								if(i < kwicks.size() - 1) {
    									kwicks.eq(i).css(LoT, prevLoTs[i] - ((prevLoTs[i] - ((i * normWoH) + (i * o.spacing))) * percentage) + 'px');
    								}
    							}
    						},
    						duration: o.duration,
    						easing: o.easing
    					});
    				});
    			}
    		});
    	};
    })(jQuery);
    • This topic was modified 12 years, 8 months ago by gfru.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    • This topic was modified 12 years, 8 months ago by Daniel Tara.
    #4187
    gfru
    Participant

    I am convinced that the way i have done this is not the ‘best’ way, but again never seen .js before so made it up as i went along.

    Great theme btw!

    #4575
    REIM
    Participant

    I would like to see how this looks, can you post a link to your site
    Cheers

    #4601
    vickielynnsings
    Participant

    Yes! Please post a url so we can see what yours looks like! I REALLY need to get my images to show up properly. It’s all messed up and I really like this theme!

    #4604
    gfru
    Participant

    Ok, but it’s not a real website so no criticism! It’s a place holder for my wife when she gets her act together

    loveandadorestationery.com

    #4605
    gfru
    Participant

    make sure you back up the original!

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.