@Indus999
Indu in web developing

Как переписать код,организовать функцию?

Есть такой вот код jsfiddle.net/aeznsg5s
Он использует значения переменных из php,хочу его вынести в отдельный файл джаваскрипта и оформить как функцию,но как так сделать что бы использовать переменные из пхп в джаваскрипте?и как оформить функцию?так как этот код будет исполнятся для многих елементов на странице,что бы недублировался.
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
На странице:
<script>
var dataObj = {
  subCat : "#<?=$subCatId?>",
  mainCat : "#<?=$mainCatId?>"
}
</script>
<script src="file.js"></script>


В file.js:
jQuery(function() {
  var $sC = jQuery(dataObj.subCat).hide();
  jQuery(dataObj.mainCat).hover(
     function(){
        $sC.show(300);
     },
     function(){
        $sC.hide();
     }
	);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@everliving
Как вариант, с помощью PHP создать глобальный JS объект и потом обращаться к нему из функции.

<script>
    "window.data = {'mainCatId':". $mainCatId . ",'subCatId': ". $subCatId ."}"
</script>


jQuery(function() {
			jQuery('div#'+ window.subCatId).hide();
			jQuery('div#'+ window.mainCatId ).hover(
				function(){
					jQuery(this).find('div#' + window.subCatId).show(300);
				},
				function(){
					jQuery(this).find('div#'+ window.subCatId).hide();

				}
	);
});
Ответ написан
Sivkoff
@Sivkoff
Web Developer
Я бы предложил вам не заниматься подобными извращениями.
Лучше навешивайте в PHP классы на нужные элементы и используйте их в JS.
jQuery(function() {
    jQuery('.sub-cat').hide();
    jQuery('.main-cat').hover(
        function(){
            jQuery(this).find('.sub-cat').show(300);
        },
        function(){
            jQuery(this).find('.sub-cat').hide();
        }
    );
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы