Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   подскажите скрипт для сворачивания текста (https://javascript.ru/forum/misc/48934-podskazhite-skript-dlya-svorachivaniya-teksta.html)

frenzy 23.07.2014 17:31

Ну да, что-то я с английским затупил. Но остается программерская проблема: collapsed - локальная переменная, которая похоже обнуляется после выполнения функции и переинициализируется каждый раз

tsigel 23.07.2014 17:34

(function($){
	  
	  var collapsed = false;
	  $("#showmore").click(function () {
	  alert($("#jshop_unijax_filter").css("height"));
	  if (collapsed) {  
		 collapsed = false;
		 var height = $("#jshop_unijax_filter").css("height", "auto").height();
		 $("#jshop_unijax_filter").animate({"height": height});
	 } else {
		 $("#jshop_unijax_filter").animate({"height": "500px"});}
		 collapsed = true;
		 })
	  
	  })(jQuery)

frenzy 23.07.2014 17:43

Да оно так и есть у меня:
<script>
      (function($){
	  
	  var collapsed = true;
	  $("#showmore").click(function () {
	  if (collapsed) {  
		 collapsed = false;
		 var height = $("#jshop_unijax_filter").css("height", "auto").height();
		 $("#jshop_unijax_filter").animate({"height": height});
	 } else {
		 $("#jshop_unijax_filter").animate({"height": "500px"});}
		 collapsed = true;
		 })
	  
	  })(jQuery)
    </script>

Но при каждом нажатии кнопки collapsed = true;, не зависимо от того, как оно было в конце исполнения предыдущей интерации. Говорю же, что переменная, похоже, локальная и дохнет сразу после исполнения.


Часовой пояс GMT +3, время: 13:10.