jquery - 如何将文本区域滚动条设置为右侧而不改变它的方向

标签 jquery html css textarea

我想设置<textarea>向右滚动条,但我不想改变它的方向,因为它里面的文本的方向也会改变。

最佳答案

这是一个 hack(只是为了好玩!)但是您可以隐藏默认滚动条(在左侧)并在右侧呈现自定义滚动条。

注意:10 分钟破解。不太适合生产代码。

演示:http://jsfiddle.net/dkvvqz2u/3/

代码:

var textarea = $('textarea'), 
    scroller = $('<div/>').addClass('scroller').insertAfter(textarea),
    scroll = $('<div/>').addClass('scroll').appendTo(scroller);

// function to position the scroller correctly
function placeScroller() {

    scroller.css({
        top: textarea.offset().top + 'px',
        left: (textarea.offset().left + textarea.outerWidth() - 10) + 'px',
        height: textarea.outerHeight() + 'px'
    });

    scroll.css({
        top: Math.floor(textarea.scrollTop()/textarea[0].scrollHeight * textarea.outerHeight()) + 'px',
        left: '0',
        height: Math.floor(textarea.height()/textarea[0].scrollHeight * textarea.outerHeight()) + 'px'
    });
}

// place scroller initially.
placeScroller();

// update scroller on data change
textarea.on('scroll keyup paste cut undo', placeScroller);

// make mousewheel scrollable
textarea.on('wheel', function(_e) {
    textarea.scrollTop(textarea.scrollTop() + _e.originalEvent.deltaY);
    placeScroller();
});

关于jquery - 如何将文本区域滚动条设置为右侧而不改变它的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28557263/

相关文章:

javascript - 函数事件取决于带有类的附加 div

jquery - 删除表单的action属性

html - Xslt jqueryui未使用的div

Python如何使用re获取网站中的特定代码

php - 固定宽度 div,根据长度动态调整文本大小

javascript - 在更改该图像父元素的大小的同时自动以原始比例更改图像大小

javascript - 日期计算的奇怪错误

javascript - 如何在 WordPress 图片库中使用 jQuery 选择下拉菜单项?

jquery - 改变位置拉动元件

css - 在带有装订线的 Bootstrap 3 网格列上创建底部边框