javascript - 查询 : BoxShadow and Color Change using "OnChange"

标签 javascript jquery css jscolor

我是 Javascript 和 JQuery 的新手,所以请耐心等待。我想制作一个在使用颜色选择器时改变颜色的盒子阴影。为此,我使用 Jscolor.js .据我了解,我需要使用 Onchange 函数并使用 +this.color 来选择当前颜色。

但是我似乎无法让代码正常工作,我尝试到处阅读,但没有太多关于我需要的主题的信息。我创建了一个 JsFiddle 为例。

非常感谢您的提前帮助。

代码:

JavaScript:

$(document).ready(function(){ 
    $('#content').css('boxShadow', '+this.color inset 0 200px 400px -200px');
    $('#content').css('boxShadowColor', '+this.color'); 
});

HTML:

<div id="content">
    <p>
         <input class="color" onchange="$('#content').css('boxShadow','+this.color');" />
         <h1> This is a example.</h1>
</div> 
</div>

CSS:

.content {   
    -webkit-box-shadow: inset 0 200px 400px -200px #000);
    -moz-box-shadow: inset 0 200px 400px -200px #000);
    box-shadow: inset 0 200px 400px -200px #000; 
}

最佳答案

FIDDLE

HTML

<div id="content">
    <p>
        <input class="color" onchange="addNewBoxShadowStylesToHead('#frontcontent', '#'+this.color);" />
        <h1> This is a example.</h1>
    </p>
</div>

<div id="frontcontent">This div will have the effect</div>

JS

var head = document.head || document.getElementsByTagName('head')[0];

function addNewBoxShadowStylesToHead(selector,color) {
    var css = selector + '{-webkit-box-shadow: inset 0 200px 400px -200px ' +color+ ';' +
        '-moz-box-shadow: inset 0 200px 400px -200px ' + color + ';'+
        'box-shadow: inset 0 200px 400px -200px ' + color + '; }',
        style = document.createElement('style');

    style.type = 'text/css';
    if (style.styleSheet){
        style.styleSheet.cssText = css;
    } else {
        style.appendChild(document.createTextNode(css));
    }

    head.appendChild(style);
}

或更简单的 JS

function applyboxshadow(selector, color) {
    $(selector).css({
         '-webkit-box-shadow' : 'inset 0 200px 400px -200px ' + color,
        '-moz-box-shadow': 'inset 0 200px 400px -200px '+ color,
        'box-shadow': 'inset 0 200px 400px -200px '+ color
    });
}

这样称呼

<input class="color" onchange="applyboxshadow('#frontcontent', '#'+this.color);" />

关于javascript - 查询 : BoxShadow and Color Change using "OnChange",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288133/

相关文章:

jquery - 什么技巧可以在大多数浏览器的浏览器窗口中提供最可靠/兼容的声音警报

jquery - 调整 Lightbox 2 图片的大小

jQuery UI 选项卡在鼠标悬停时更改选项卡之前强制延迟

css - excel文件中应该使用什么公式

css - (CSS) 无法为移动设备调整背景图像大小

javascript - 我无法从这个数组中删除这个特定的项目

javascript - 数字范围的正则表达式,以及 -1

javascript - 将我的 Backbone 模型信息传递给 Cordova 相机插件的最佳方式

javascript - 在 React 中处理多个输入

javascript - Kendo UI 股票图表导航器损坏