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