Onclick更改按钮的名称和功能
Onclick changes button's name & function
我一直在论坛上寻找答案,但我仍然卡住了。
我创建了一个按钮,其中包含指向 stopRotation() 函数的 onclick 属性。
<button type="button" class="changeText" onclick="stopRotation();">Stop Rotation</button>
单击它后,将发生以下情况:
- 应用程序中的地球停止旋转(成功)
- 按钮上的文本从"停止旋转"更改为"开始旋转"(成功)
这是通过以下代码行实现的:
$(".changeText").click(function () {
$(this).text(function(i, v){
return v === 'Start Rotation' ? 'Stop Rotation' : 'Start Rotation'
})
});
var lastNow = Date.now();
function rotation(clock){
if(scene.mode == Cesium.SceneMode.SCENE3D){
var now = Date.now();
var spinRate = 0.08;
var delta = (now - lastNow) / 1000;
lastNow = now;
scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
}
}
function stopRotation(){
viewer.clock.onTick.removeEventListener(rotation);
}
现在按钮的文本设置为"开始旋转",如何调用该函数,以便在用户单击按钮后地球再次开始旋转?
function startRotation(){
viewer.clock.onTick.addEventListener(rotation);
}
提前谢谢你。
艾伦
由于您同时调用了单击侦听器和函数,因此我将删除onclick
调用并将所有逻辑移动到单击侦听器。
$(".changeText").click(function () {
$(this).text(function(i, v){
if (v === 'Start Rotation')
viewer.clock.onTick.addEventListener(rotation);
else
viewer.clock.onTick.removeEventListener(rotation);
return v === 'Start Rotation' ? 'Stop Rotation' : 'Start Rotation'
})
});
var lastNow = Date.now();
function rotation(clock){
if(scene.mode == Cesium.SceneMode.SCENE3D){
var now = Date.now();
var spinRate = 0.08;
var delta = (now - lastNow) / 1000;
lastNow = now;
scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
}
}
而不是直接调用方法使用ToggleRotation。
function toggleRotation() {
var txt = $(".changeText").text();
if (txt == "Start Rotation")
startRotation();
else
stopRotation();
}
<button type="button" class="changeText" onclick="ToggleRotation();">Stop Rotation</button>
$(".changeText").click(function () {
$(this).text(function(i, v){
if (v === 'Start Rotation'){
startRotation();
return 'Stop Rotation';
}
return 'Start Rotation';
});
});
相关文章:
- 删除CKEditor工具栏按钮,但不删除功能
- 如何使用Java脚本创建提交按钮's的拖放功能
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 第二次点击具有不同功能的按钮并更改文本
- 如果未按下该按钮,则在30秒内自动执行该功能
- 两个按钮在初次点击后会触发相同的功能
- 如何使用相同的按钮点击两个功能
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 自定义HTML5视频控件-退出按钮不会启动全屏切换功能
- 交互2个单选按钮2个不同的功能Javascript
- 美国地图插件,具有状态数据/悬停功能的新按钮
- Bootbox:取消对话框后的回调功能/点击'X'按钮
- on单击从按钮到功能
- 更改选择选项下拉列表与onclick功能按钮
- 功能按钮已禁用;从开始
- 运行功能按钮点击作为创建者用户-谷歌电子表格
- 基于单选按钮启用/禁用功能按钮
- 点击功能按钮更改画布
- 我可以重写或设置确认功能按钮吗? '文本
- 如何添加eventlistener上按钮点击,如果它已经有功能按钮点击