2015-03-31 59 views
1

我现在正在网站上工作,并且有一些我想要更改的文本。该网站在标题中具有搜索功能,并且在输入字段中键入3或4个字符后,产品列表会下拉列出产品名称中包含这些字符的产品(类似于:http://www.lightexports.com/)。我想更改显示在列表底部的文字“查看所有结果”。Bigcommerce - 在函数执行后是否可以更改文本?

我试过使用.replace()函数,但是不起作用,我不能使用window.onload,因为如果你从不使用搜索,那么代码永远不会被加载到网站上。显示产品列表和我想要更改的文本的代码仅在您开始在搜索栏中输入后出现。

**注:我使用的平台是Bigcommerce,只允许HTML,CSS和JavaScript。

任何帮助,非常感谢。预先感谢和快乐的编码!

+0

对于在js中动态创建的元素,您必须委派事件。 – miglio 2015-04-01 14:34:25

回答

1

我已经想通了。最好way7做到这一点:

  1. 下载quicksearch.js文件加载在您的网站 - 这是排队Snippets/QuickSearchJS.html,您可以通过导航到yourstore.com/javascript/quicksearch.js下载。

  2. 这个文件上传到你的WebDAV文件夹/template/js/

  3. 在你Snippets/QuickSearchJS.html片段文件中,您可以参阅Bigcommerce后端“设计>编辑HTML/CSS”页面编辑,注释掉原来<script>标签,并添加一个标记,指向您上传到WebDav的JS文件。新Snippets/QuickSearchJS.html文件应该是这样的:

    <!-- <script type="text/javascript" src="%%GLOBAL_CdnAppPath%%/javascript/quicksearch.js?%%GLOBAL_JSCacheToken%%"></script> --> 
        <script type="text/javascript" src="%%ASSET_js/quicksearch.js%%?%%GLOBAL_JSCacheToken%%"></script> 
    

(是的,我知道的语法看起来很奇怪,但仅仅是因为使用资产的途径和方式cachetoken还必须有%%此语法正确)

  • 在你通过WebDAV上传到您的js文件夹中的quicksearch.js,编辑以下行,左右线184-195:

    if(all_results_count) 
        { 
         var tr = document.createElement('TR'); 
         var td = document.createElement('TD'); 
         tr.className = "QuickSearchAllResults"; 
         tr.onmouseover = function() { QuickSearch.over_all = true; }; 
         tr.onmouseout = function() { QuickSearch.over_all = false; }; 
         td.colSpan = 2; 
         td.innerHTML = $('viewmoreurl', response).text(); 
         tr.appendChild(td); 
         popup.appendChild(tr); 
        } 
    
  • ,使它们看起来就像这样:

     if(all_results_count) 
         { 
          var tr = document.createElement('TR'); 
          var td = document.createElement('TD'); 
          tr.className = "QuickSearchAllResults"; 
          tr.onmouseover = function() { QuickSearch.over_all = true; }; 
          tr.onmouseout = function() { QuickSearch.over_all = false; }; 
          td.colSpan = 2; 
          td.innerHTML = 'YOUR NEW CUSTOM TEXT/NAME FOR THE "View All Results" LINK GOES HERE'; 
          tr.appendChild(td); 
          popup.appendChild(tr); 
         } 
    

    把“查看所有结果”链接你的新名字在“和”之间在该行开头td.innerHTML =

  • 现在只需保存并刷新您的页面,并且您的文本将在本地更改,而无需编写JS并监视事件或委派任何操作。

  • 请让我还是知道这帮助,如果您有任何问题。

    相关问题