Javascript 脚本在主页上运行,但不在其他页面上运行?

Javascript 脚本在主页上运行,但不在其他页面上运行?,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我是挠头。我有一个脚本问题,脚本出现在所有页面上,但如果不是主页,脚本似乎不会执行 如果您访问: www.foulplayrnot.com并点击立即捐赠,总数和价格将正确更改。(除了造型,但现在这并不重要) 但是, 如果您通过永久链接访问同一个活动,那么总数不会改变。两个页面上似乎加载了相同的脚本,但我不知道为什么它不起作用 唯一的区别是第一个(使用静态活动php模板的主页)是一个特色活动,第二个链接是使用single-Campaign.php的普通活动链接 用于更改价格总额的自定义脚本添加到了

我是挠头。我有一个脚本问题,脚本出现在所有页面上,但如果不是主页,脚本似乎不会执行

如果您访问:

www.foulplayrnot.com并点击立即捐赠,总数和价格将正确更改。(除了造型,但现在这并不重要)

但是,

如果您通过永久链接访问同一个活动,那么总数不会改变。两个页面上似乎加载了相同的脚本,但我不知道为什么它不起作用

唯一的区别是第一个(使用静态活动php模板的主页)是一个特色活动,第二个链接是使用single-Campaign.php的普通活动链接

用于更改价格总额的自定义脚本添加到了campaignify.js的底部,它是这样排队的(虽然这里的主页可能有条件,但似乎没有):

activitify.js中的自定义代码,相关代码位于底部的/**模式价格**/:

jQuery( document ).ready(function($) {
    Campaignify.App.init();
    Campaignify.Widgets.init();

    if ( campaignifySettings.page.is_campaign )
        Campaignify.Checkout();

    $( window ).on( 'resize', function() {
        Campaignify.Widgets.resize();

        Campaignify.App.gridify();
    });

    /** Modal prices  **/

    var price;
    var qty;

    price = $('#myContributeSelect').find('option:selected').attr('data-price');
  qty = $('#myContributeQty').find('option:selected').val();
  var totalFormatted = (qty * price).toFixed(2);
  $('#myContributeTotal').html(totalFormatted);
  $('#Itemprice').val(price);

  $('#myContributeQty').on('change', function() {
    qty = $(this).val();
    price = $('#Itemprice').val();
    var totalFormatted = (qty * price).toFixed(2);
    $('#myContributeTotal').html(totalFormatted);
  });

  $('#myContributeSelect').on('change', function() {
    price = $(this).find('option:selected').attr('data-price');
    qty = $('#myContributeQty').find('option:selected').val();
    $('#Itemprice').val(price);

      var totalFormatted = (qty * price).toFixed(2);
  $('#myContributeTotal').html(totalFormatted);
    });  
});
这方面的HTML是(编辑掉一些php以使其更可读/更简洁):


大小
.wpautop(wp_kses_数据($price['name']))。
数量
1.
2.
3.
4.
5.
6.
7.
8.
9
10
全部的

你应该用你怀疑包含问题的代码重新格式化你的帖子丹尼尔,我已经编辑过了。Stackoverflow新手!我怀疑,如果JavaScript在一个页面上工作,而不是在另一个页面上工作,那么可能会有一些JavaScript错误阻止执行。但我建议使用JavaScript调试器设置断点并检查执行流和变量,以确保它确实执行,以及执行时dom的状态如何。例如,它可能在HTML元素实际可用之前执行。也许您可以尝试将所有JS包装在$(function(){/*code here*/})中
jQuery( document ).ready(function($) {
    Campaignify.App.init();
    Campaignify.Widgets.init();

    if ( campaignifySettings.page.is_campaign )
        Campaignify.Checkout();

    $( window ).on( 'resize', function() {
        Campaignify.Widgets.resize();

        Campaignify.App.gridify();
    });

    /** Modal prices  **/

    var price;
    var qty;

    price = $('#myContributeSelect').find('option:selected').attr('data-price');
  qty = $('#myContributeQty').find('option:selected').val();
  var totalFormatted = (qty * price).toFixed(2);
  $('#myContributeTotal').html(totalFormatted);
  $('#Itemprice').val(price);

  $('#myContributeQty').on('change', function() {
    qty = $(this).val();
    price = $('#Itemprice').val();
    var totalFormatted = (qty * price).toFixed(2);
    $('#myContributeTotal').html(totalFormatted);
  });

  $('#myContributeSelect').on('change', function() {
    price = $(this).find('option:selected').attr('data-price');
    qty = $('#myContributeQty').find('option:selected').val();
    $('#Itemprice').val(price);

      var totalFormatted = (qty * price).toFixed(2);
  $('#myContributeTotal').html(totalFormatted);
    });  
});
    <div class="sqwrap">
      <div class="sizewrap">
        <h5>Size</h5>

        <div class="size">
           <select name="price-option" class="selectStyle" id="myContributeSelect">
               <option name="edd_options[price_id][]" id="%1$s" class="%2$s edd_price_options_input" value="%3$s" data-price="'.$amount.'">'.wpautop( wp_kses_data( $price[ 'name' ] ) ).
               </option>    
           </select>
        </div>

      <div class="quantitywrap">
        <h5>Qty</h5>
          <select name="qty" class="modalquantity" id="myContributeQty">
            <option value="1" selected="selected">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
          </select> 
          <div class="arrow-down"></div>
          <input type="hidden" name="Itemprice" value="" id="Itemprice">
        </div>

        <div class="totalwrap">
          <h3>Total</h3>
          <div class="wrap_edd_cart_amount">
              <div class="totalborder">
                    <span class="edd_cart_amount" data-subtotal="<?php echo edd_get_cart_total(); ?>" data-total="<?php echo edd_get_cart_total(); ?>">$<span  id="myContributeTotal">0</span>
              </div>
          </div>
        </div>
      </div>