We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21508
    • 46 Posts
    сайт на CMS MODx 1.0.4
    реализована смена картинки по нажатию картинки

    <script type="text/javascript">
    	$(document).ready(function(){
    		$("#img").click(function () {
    			var src = $("#img").attr("src");
    			var tmp = $("#tmp").val();
    			$("#im").fadeOut("fast", function () {
    				$("#img").attr("src", tmp);
    			});
    			$("#im").fadeIn("fast");
    			$("#tmp").val(src);
    		});
    	});
    </script>


    добавляю на сайт [!AjaxSearch!] выдает ошибку на строке
    $("#img").click(function () { 
    [tt]Cannot call method ’click’ of null[/tt]

    Подскажите в чем может быть проблема.
    Заранее благодарен.
      It’s Nice to Be Important, But It’s More Important to Be Nice
      • 7368
      • 264 Posts
      1. попробуйте вместо $ писать jQuery
      2. У Вас видимо 2 раза идёт подключение библиотеки jquery. Попробуйте убрать 1 вызов(ajaxsearch вызывает jquery)
        • 21508
        • 46 Posts
        2 раза точно выводит, так как 1 раз я специально вывожу
        <script src="[(site_url)]assets/js/jquery-1.3.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
        	$(document).ready(function(){
        		$("#img").click(function () {
        			var src = $("#img").attr("src");
        			var tmp = $("#tmp").val();
        			$("#im").fadeOut("fast", function () {
        				$("#img").attr("src", tmp);
        			});
        			$("#im").fadeIn("fast");
        			$("#tmp").val(src);
        		});
        	});
        </script>

        2 раз выводит сам MODx, уже после, а как вставит
        <script type="text/javascript">
        	$(document).ready(function(){
        		$("#img").click(function () {
        			var src = $("#img").attr("src");
        			var tmp = $("#tmp").val();
        			$("#im").fadeOut("fast", function () {
        				$("#img").attr("src", tmp);
        			});
        			$("#im").fadeIn("fast");
        			$("#tmp").val(src);
        		});
        	});
        </script>

        в самый конец </head> что то я не нашел. Если я отключу свой вывод jquery то скрипт не будет работать
          It’s Nice to Be Important, But It’s More Important to Be Nice
          • 7368
          • 264 Posts
          Попробуйте в вызове ajaxsearch добавить &addJscript=`0`(по умолчанию загружается). Посмотрел в Вики, так там по умолчанию грузится mootools

          Ваш скрипт Вы можете вставить в конец, то есть перед </body> и не подключать его(если MODx сам загружает)
            • 22668
            • 718 Posts
            // &jscript [’jquery’|’mootools2’|’mootools’]
            // Set this to jquery if you would like use the jquery library
            // set mootools2 to use the version 1.2 of mootools (limited to JS functions used by AS)
            // Default: ’mootools’ - use the version 1.11 of mootools provided with MODx
            $cfg[’jscript’] = isset($jscript) ? $jscript : (isset($__jscript) ? $__jscript : $dcfg[’jscript’]);


            // &addJscript [1 | 0]
            // Set this to 1 if you would like to include or not the mootool/jquery library in the header of your pages automatically
            // Default: 1
            $cfg[’addJscript’] = isset($addJscript) ? $addJscript : (isset($__addJscript) ? $__addJscript : $dcfg[’addJscript’]);
              • 21508
              • 46 Posts
              Quote from: Kollad at Jun 16, 2010, 03:58 AM

              Попробуйте в вызове ajaxsearch добавить &addJscript=`0`(по умолчанию загружается). Посмотрел в Вики, так там по умолчанию грузится mootools
              так отключает jquery насколько я понял, то есть результат на новой странице

              Quote from: Kollad at Jun 16, 2010, 03:58 AM

              Ваш скрипт Вы можете вставить в конец, то есть перед </body> и не подключать его(если MODx сам загружает)
              если в конец то не работает его нужно вставлять перед </head> MODx сам загружает jquery-1.3.2.min.js но после моего кода, по этому он не работает (к такому заключению я пришел).

              <script src="[(site_url)]assets/js/jquery-1.3.2.min.js" type="text/javascript"></script>
              <script type="text/javascript">
              	$(document).ready(function(){
              		...
              	});
              </script>
              </head>
              
              <body>
              <div id="serch">[!AjaxSearch!]</div>


              этот код дописывает сам MODx
              	<script type="text/javascript" src="manager/media/script/mootools/mootools.js"></script> 
              	<script type="text/javascript" src="assets/snippets/ajaxSearch/js/ajaxSearch1/ajaxSearch.js"></script> 
              <!-- start AjaxSearch header --> 
              <script type="text/javascript"> 
              //<![CDATA[
              asvar=new Array();asvar[0]='{"vsn":"1.9.0","adv":"oneword","sub":"","bxt":"Запрос для поиска...","cfg":""}';
              //]]>
              </script> 
              <!-- end AjaxSearch header --> 
              <script src="/assets/js/jquery-1.3.2.min.js" type="text/javascript"></script> 


              так не работает код по смене картинки, зато работает поисковик как AjaxSearch

              <div id="serch">[!AjaxSearch? &addJscript=`0`!]</div>
              так работает смена картинок но не работает поисковик, хочется что бы поисковик был AjaxSearch
                It’s Nice to Be Important, But It’s More Important to Be Nice
                • 22668
                • 718 Posts
                &jscript=`jquery` &addJscript=`0`
                И в шапку в сам шаблон добавляете свой вызов jquery.
                Ajaxsearch будет Ваш использовать.
                  • 21508
                  • 46 Posts
                  спасибо за помощь все работает.
                    It’s Nice to Be Important, But It’s More Important to Be Nice