我正在尝试点击时使速度单位切换。但是,这仅适用一次。我已经没有东西可以尝试了。我还尝试了.click()
,.live()
,.toggle()
(只让它消失并重新出现),等等。
HTML:
<li id="wind">Wind speed</br>
<p class='windSpeedKm'></p>
</li>
使用Javascript:
var click = true;
$('#wind').on('click', function() {
if (click = false) {
$('#wind').html(function() {
$(this).html("Wind speed<br>" + windKm);
click = true;
});
} else if (click = true) {
$('#wind').html(function() {
$(this).html("Wind speed<br>" + windMi);
click = false;
});
}
});
答案 0 :(得分:0)
这并不是你要求的,但这会为你节省很多时间令人难以置信。它内置了自动转换功能,因此您无需手动更新这两个数字。它不会替换不必要的替换html。
<li id="wind">Wind speed</br>
<p class='windSpeedKm' km="500">500</p>
</li>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
function toMiles(km) {
return parseFloat(km) * 0.62137;
}
$('#wind').on('click', function() {
console.log($(this).attr("km"));
windSpeedKm = $(this).find(".windSpeedKm");
km = windSpeedKm.attr("km");
if (km === windSpeedKm.html()) {
windSpeedKm.html(toMiles(km));
} else {
windSpeedKm.html(km);
}
});
</script>
答案 1 :(得分:0)
代码存在一些语法问题:
array[i] != array[i + 1]
注意:您无需通过查看var click = true;
$('#wind').on('click', function() {
if (click) {
$(this).html("Wind speed<br>" + windKm):
click = true;
} else {
$(this).html("Wind speed<br>" + windMi);
click = false;
}
});
将示例中的click = true
或click = false
设置为if语句赋值,这已经是真的了!如果你想在确认它是真的之后将布尔值切换为假,你只会这样做。
答案 2 :(得分:0)
click = true
应为click == true;