1. #1
    demon326's Avatar
    Registered
    18/04/03
    Location
    Hasselt
    Posts
    14,855
    iTrader
    23 (100%)
    Mentioned
    0 Post(s)
    Reputation
    10/79

    Jquery attribute toevoegen..

    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 Code:
    <a href="#" title="Sluit het">close</a>
    de JS code:


    HTML Code:
    $(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
    no votes  

  2. #2
    VMax's Avatar
    Registered
    24/12/03
    Location
    Koersel
    Posts
    2,540
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/20
    $("#toggle").attr('title', 'Sluit het');

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

    Op de gepaste momenten in uw code toevoegen..
    Golf
    no votes  

  3. #3
    demon326's Avatar
    Registered
    18/04/03
    Location
    Hasselt
    Posts
    14,855
    iTrader
    23 (100%)
    Mentioned
    0 Post(s)
    Reputation
    10/79
    Quote Originally Posted by VMax View Post
    This quote is hidden because you are ignoring this member. Show
    $("#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!
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in