javascript - 单击按钮连续旋转图像

标签 javascript jquery css colorbox

为了显示图像,我使用了 colorbox..因为我添加了 rotate-left 和 rotate-right 来旋转图像.. 代码是:

var rotate_right = document.getElementById('cboxRight');
$(rotate_right).on('click', function () {
    var cboxphoto = document.getElementsByClassName('cboxPhoto')[0].style;
    cboxphoto.setAttribute('-ms-transform', 'rotate(90deg)');
});

var rotate_left = document.getElementById('cboxLeft');
$(rotate_left).on('click', function () {
    var cboxphoto = document.getElementsByClassName('cboxPhoto')[0].style;
    cboxphoto.setAttribute('-ms-transform', 'rotate(270deg)');
});

如果我再次点击 rightrotate 按钮,它会旋转 90 度然后它不会工作..我想在点击按钮时再次旋转它

最佳答案

您只能旋转 90 或 270 度。当您再次单击时,它不会移动,因为它已经旋转到该 Angular 。

改为跟踪当前旋转并将属性设置为正负 90 度的值 - 您可能也可以稍微清理一下代码,但像这样的 fiddle :http://jsfiddle.net/w6ho689e/

    var degrees = 0;
$("#cboxRight").on('click', function () {
    var $cboxphoto = $('.cboxPhoto');
    degrees += 90;
    $cboxphoto.css('-ms-transform', 'rotate(' + degrees + 'deg)');
    $cboxphoto.css('-webkit-transform', 'rotate(' + degrees + 'deg)');
    $cboxphoto.css('transform', 'rotate(' + degrees + 'deg)');
});

$("#cboxLeft").on('click', function () {
    var $cboxphoto = $('.cboxPhoto');
    degrees -= 90;
    $cboxphoto.css('-ms-transform', 'rotate(' + degrees + 'deg)');
    $cboxphoto.css('-webkit-transform', 'rotate(' + degrees + 'deg)');
    $cboxphoto.css('transform', 'rotate(' + degrees + 'deg)');
});

关于javascript - 单击按钮连续旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935343/

相关文章:

javascript - 使用 jQuery 将事件绑定(bind)到表格单元格

html - 如何将li中的文本换行为与ul的宽度一样长?

javascript - 正则表达式捕获所有内容,而不仅仅是括号中的 "Wildcard"- 如何修复它?

javascript - 如何使用 Javascript/Jquery 单击删除按钮后连续获取文件输入的所有 id

javascript - 相同的域,但仍然得到 "Permission denied to access property ' 文档'”

html - 如何覆盖css中包含的css

html - css3 旋转和拉伸(stretch)

javascript - hapi.js 与 auth 相关

javascript - 如何在移动设备和桌面上使用媒体查询?

jQuery 自动完成 : Event-select