Visualizzazione dei risultati da 1 a 2 su 2

Discussione: jquery banner

  1. #1

    jquery banner

    Ho utilizzato un plugin jquery per gestire la rotazione di alcuni banner
    codice:
      <ul id="banner">
            <% [*][img]banner1.jpg[/img][*][img]banner2.jpg[/img][*][img]banner3.jpg[/img]
    .....
    .....
    questo e invece il codice jquery
    codice:
    (function($) {
    
    	//define jBanner object with some default config settings
    	$.jBanner = {
    		defaults: {
    			bannerContainer: "",
    			height: 275,			// height of images
    			width: 275, 			// width of images
    			borderSize: '0',			// size of border around images
    			borderStyle: 'none',	// style of border around images
    			borderColor: 'F00',		// color of border around images
    			padding: 0, 			// amount of padding (in pixels) around images
    			margin: 0, 				// amount of margin (in pixels) around images
    			caption: false,			// display caption? true or false
    			cheight: 0, 			// caption height
    			delay: 8000, 			// delay to next element
    			speed: 1000 			// transition speed
    		}
    	};
    	
    	//extend jquery with the plugin
    	$.fn.extend({
    		jBanner:function(options) {
    			
    			//use defaults or properties supplied by user
    			var config = $.extend({}, $.jBanner.defaults, options);
    
    			if (!config.caption){config.cheight=0;}
    
    			config.bannerContainer = "#"+this.attr("id");
    
    			banner(config);
    
    			//return the jquery object for chaining
    			return this;
    		}
    	});
    	function banner(config) {
    		var slidesSize	= 0;
    		$(config.bannerContainer).css({'position':'relative','height':config.height+config.cheight+config.padding*2+config.margin*2+parseInt(config.borderSize)*2+'px','width':config.width+parseInt(config.borderSize)*2+'px','overflow':'hidden'});
    		$(config.bannerContainer+" li").each(function(i){$(this).css({'position':'absolute','top':'0','left':i*(config.width+config.padding*2+config.margin*2+parseInt(config.borderSize)*2)+'px'});$(this).attr("title",i+1);$(this).children("a").after("
    
    "+$(this).children("a").children("img").attr("alt")+"</p>");});
    		$(config.bannerContainer+" li:first").addClass("selected");
    		$(config.bannerContainer+" li img").css({'border':config.borderSize+'px '+config.borderStyle+' #'+config.borderColor,'height':config.height,'width':config.width});
    		slideSize = jQuery('#banner li').size();
    		if (slideSize >1 ){
    			setTimeout( function(){next(config)}, config.delay);
    		}
    	};
    	function next(config) {
    		var i = parseInt($(config.bannerContainer+" li.selected").attr("title"));
    		if (LastElement(config,i)){$(config.bannerContainer+" li[title='"+NextElement(config,i)+"']").css('left',(config.width+config.padding*2+config.margin*2+parseInt(config.borderSize)*2)+'px');}
    		$(config.bannerContainer+" li[title='"+i+"']").removeClass("selected");
    		$(config.bannerContainer+" li[title='"+(NextElement(config,i))+"']").addClass("selected");
    		$(config.bannerContainer+" li").each(function(i){var newLeft = parseInt( $(this).css("left").replace(/px/i, '') )-(config.width+config.padding*2+config.margin*2+parseInt(config.borderSize)*2);$(this).animate({'left':newLeft+'px'},config.speed+250);});
    		setTimeout( function(){next(config)}, config.delay);
    	};
    	function NextElement(config,index) {
    		if(index < parseInt($(config.bannerContainer+" li:last").attr("title"))) {return index + 1;} else {return 1;}
    	};
    	function LastElement(config,index) {
    		return (parseInt($(config.bannerContainer+" li[title='"+NextElement(config,index)+"']").css("left").replace(/px/i, '')) == (1 - parseInt($(config.bannerContainer+" li:last").attr("title")))*(config.width+config.padding*2+config.margin*2+parseInt(config.borderSize)*2));
    	};
    })(jQuery);
    Adesso dovrei inserire altri tre div con altrettanti banner a rotazioni in altre posizioni sulla stessa pagina web. Mi conviene duplicare il codice j query sopra riportato?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    E non ti conviene duplicare nemmeno le discussioni
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.