我目前四处寻找一些有吸引力的方式来吸引客户的观点,我偶然会根据每个产品的价格详细说明一条消息。
本主题主要针对Business Catalyst,但有些javascript专家可能会提供帮助。
目标是在小型产品布局上使用液体或一些灵活的 Javascript ,并计算产品价格,如果高于或等于30且显示您为此产品免费送货
我目前正在使用jquery但不工作不知道为什么!?
$('.price').each(function(){
if(parseInt($(this).val()) > 30) {
$('#get-free').show();
}
});
<div class="small-product round-corner">
<div class="im-on-sale-{tag_onsale}">SALE</div>
<div class="photo">{tag_smallimage}</div>
<div class="title lato">{tag_name}</div>
<div class="price lato"><!--Price: -->{tag_saleprice}</div>
<div class="retail-price">{tag_retailprice}</div>
<div class="instock">{tag_instock} IN STOCK</div>
<div id="get-free" style="display: none;">FREE SHIPPING FOR THIS PRODUCT</div>
<!--<div class="add-to-cart-small">{tag_addtocart,<img src="/images/ui-pieces/add-to-cart-small.png" width="25" height="25" />}</div>-->
<div class="lato rating-stars"><span class="smallString" style="display: none;">{tag_itemurl_nolink}</span></div>
<div class="favorite loggedin lato"> {tag_addtofavorites,<div class="grey-link"><img src="/images/ui-pieces/favourites-icon.png" width="15" height="15"> ADD TO FAVORITES</div>, <div class="grey-link"><img src="/images/ui-pieces/close-bt.png" width="15" height="15"> REMOVE FAVORITE}</div>
</div>
非常感谢一些帮助。
由于
答案 0 :(得分:2)
您应该尝试使用Name: Nexus_5_API_23_x86
CPU/ABI: Google APIs Intel Atom (x86)
Target: Google APIs (API level 23)
Skin: 1080x1920
SD Card: 200M
hw.dPad: no
hw.accelerometer: yes
hw.device.name: Nexus 5
vm.heapSize: 64
skin.dynamic: no
hw.device.manufacturer: Google
hw.gps: yes
hw.audioInput: yes
tag.id: google_apis
hw.camera.back: emulated
hw.mainKeys: no
hw.camera.front: emulated
hw.lcd.density: 480
hw.device.hash2: MD5:2fa0e16c8cceb7d385183284107c0c88
hw.ramSize: 1536
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google APIs
hw.keyboard: yes
hw.sensors.proximity: yes
disk.dataPartition.size: 200M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes
(https://css-tricks.com/snippets/wordpress/include-jquery-in-wordpress-theme/)或.text()
代替.html()
。 val()
主要用于表单输入字段(http://siliconvalleyindicators.org/data/people/talent-flows-diversity/total-science-engineering-degrees-conferred/)
答案 1 :(得分:1)
对div之类的非输入元素使用text()而不是val()。此外,您应该在使用parseInt时使用isNaN测试NaN,尽管在这种情况下,如果价格字段为空,则不会出现所需的效果(显示免费定价)。
if(!isNaN(parseInt($(this).text())) && parseInt($(this).text()) > 30)
答案 2 :(得分:0)
感谢Vitorino提供的一段代码,我能够明确指出,但是由于{tag_saleprice}由{tag_saleprice}生成的“£”符号,它的真正原因是它没有得到正确的字符串。使用我之前使用的 .replace(/ [^ 0-9。] / g,“”); ,我能够传递清除符号“£”的值,下面是代码对于那些需要的人:
$('.price').each(function() {
var price = $(this).text().replace(/[^0-9\.]/g, "");
if (parseInt(price) >= 30) {
$(this).siblings('.get-free').show();
}
});