首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在特定页面上运行内联javascript

在特定页面上运行内联javascript
EN

Stack Overflow用户
提问于 2018-06-04 00:16:24
回答 1查看 572关注 0票数 -1

我只想在WooCommerce的简单产品页面上运行一个jQuery代码。

这是我的代码:

代码语言:javascript
复制
jQuery(document).ready(function( $ ){

let qty = document.getElementById('qty');

qty.onblur = function(){
  let val  = this.value; // Current Value
  let step = this.getAttribute('step'); // Get step instead of hard coding it

  let roundDown = (val - (val % step)).toFixed(2);
  let roundUp   = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);

  this.value = roundUp;
}

});

我如何在Javascript代码中实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-04 02:13:03

如果您的代码导致错误,因为在其余页面上没有id为"qty“的元素,您可以将此代码添加到主js文件中,如下所示:

代码语言:javascript
复制
$(function() {

  if ( $('#qty').length ) {
     let qty = document.getElementById('qty');

     qty.onblur = function(){
       let val  = this.value; // Current Value
       let step = this.getAttribute('step'); // Get step instead of hard coding it

       let roundDown = (val - (val % step)).toFixed(2);
       let roundUp   = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);

       this.value = roundUp;
     }
  }

});

或者,您可以在结束标记之前将此代码添加到footer.php中,添加输出条件:

代码语言:javascript
复制
<?php is_singular( 'products' ) :?> <!--change this to your need - https://codex.wordpress.org/Conditional_Tags -->
<script>
jQuery(document).ready(function( $ ){

let qty = document.getElementById('qty');

qty.onblur = function(){
  let val  = this.value; // Current Value
  let step = this.getAttribute('step'); // Get step instead of hard coding it

  let roundDown = (val - (val % step)).toFixed(2);
  let roundUp   = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);

  this.value = roundUp;
}

});
</script>
<?php endif;?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50668438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档