Archief - Jquery attribute toevoegen..

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

demon326

Legacy Member
Hallo allen, na gisteren uren hebben gezocht naar een goed cookie script dat samenwerkt met de SlideToggle functie ben ik tegen een "nieuw" probleem aangelopen met dit script, ik zou graag het title attribute willen wijzigen afhankelijk van de status.

Als ie open staat moet het iets worden als:
HTML:
<a href="#" title="Sluit het">close</a>

de JS code:


HTML:
$(document).ready(function() {
			
			// the div that will be hidden/shown
			var panel = $("#slidediv");
			//the button that will toggle the panel
			var button = $("#toggle");
			// do you want the panel to start off collapsed or expanded?
			var initialState = "expanded"; // "expanded" OR "collapsed"
			// the class added when the panel is hidden
			var activeClass = "hidden";
			// the text of the button when the panel's expanded
			var visibleText = "hide";
			//var visibleTitle = $("#toggle").attr({ title:"{L_HIDE}"});
			// the text of the button when the panel's collapsed
			var hiddenText = "show";
			//var hiddenTitle = $("#toggle").attr({ title:"{L_SHOW}"});
			
			//---------------------------
			// don't    edit    below    this    line,
			// unless you really know what you're doing
			//---------------------------
			
			if($.cookie("panelState") == undefined) {
				$.cookie("panelState", initialState);
			} 
			
			var state = $.cookie("panelState");
			
			if(state == "collapsed") {
				panel.hide();
				button.text(hiddenText);
				button.addClass(activeClass);
			}
		   
			button.click(function(){
				if($.cookie("panelState") == "expanded") {
					$.cookie("panelState", "collapsed", { /*The cookie should "never" expire.*/ expires: 36500/*, path: '/', domain:'Ashladan.be'*/});
					button.text(hiddenText);
					//button.(hiddenTitle);
					button.addClass(activeClass);
				} else {
					$.cookie("panelState", "expanded", { /*The cookie should "never" expire.*/ expires: 36500/*, path: '/', domain:'Ashladan.be'*/});
					button.text(visibleText);
					//button.(visibleTitle);
					button.removeClass(activeClass);
				}
				
				panel.slideToggle(400);
				
				return false;
			});
		});

Nu, met het volgende stukje code maak ik een var op die ik later nog zal gebruiken:
Code:
var visibleTitle = $("#toggle").attr({ title:"{L_HIDE}"});

Om de juiste titel dan te doen weergeven,afhankelijk van de status doe ik het volgende:

Code:
button.(visibleTitle);

Maar hier gaat het mis:
1) hij slide niet naar beneden, hij past echter wel de tekst van de link aan, dus close word terug open, en omgekeerd,en na een page refresh staat ie open of dicht.
2) hij voegt de juiste titel niet toe, hij blijft, ongeacht de status "{L_SHOW}" tonen, i.p.v. de correcte...

Firefox debug geeft deze error:
Code:
Fout: XML filter is applied to non-XML value ({length:1, prevObject:{0:#1=({}), context:#1#, length:1}, context:#1#, selector:"#toggle", 0:({})})
Bronbestand:cookie.js
Regel: 53-54
:unsure:

VMax

Legacy Member
$("#toggle").attr('title', 'Sluit het');

$("#toggle").attr('title', 'Open het');

Op de gepaste momenten in uw code toevoegen..

demon326

Legacy Member
VMax zei:
$("#toggle").attr('title', 'Sluit het');

$("#toggle").attr('title', 'Open het');

Op de gepaste momenten in uw code toevoegen..

Ik deed dat al via die "var", maar hardcoden werkt blijkbaar ook... thx!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan