-
gfruParticipant
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.
gfruParticipantI 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!
vickielynnsingsParticipantYes! 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!
gfruParticipantOk, 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
You must be logged in to reply to this topic.