Div宽度和高度不适合图像

时间:2011-07-14 13:26:00

标签: javascript jquery css

enter image description here我试图改变div中透明图像的颜色(使用jQuery)。在改变颜色时,我无法将图像的左侧和顶部固定到div中。

有人可以帮忙吗?如果用户点击任何跨度颜色,我试图填充图像。

test.css:

.iconWrapper .color span
{
    width: 50px;
    height: 58px;
    display: block;
}
.color1
{
    background-color: #f6f6f6;
}
.color2
{
    background-color: #ffe25b;
}
.color3
{
    background-color: #e35990;
}
.color4
{
    background-color: #58c1d8;
}

step1.php

<link rel="stylesheet" type="text/css" href="test.css" media="screen" />
<script language="javascript" type="text/javascript">

    $(function() {
        $('.iconWrapper span').click(function(e){
        var color=$(this).attr('class');
            //alert(color);
            $('#div1').removeClass().addClass(color);
            $('#hiddencolor').val(color);
            e.preventDefault();
        });    
    });    
</script>
</head>
<body>
    <div class="iconWrapper">
        <ul class="color">
            <li>
                <a href="#" title="Selecteer"><span class="color1"></span></a>                               
            </li>
            <li>
                <a href="#" title="Selecteer "><span class="color2" ></span></a>                               
            </li>
            <li>
                <a href="#" title="Selecteer"><span class="color3"></span></a>                               
            </li>
            <li>
                <a href="#" title="Selecteer"><span class="color4"></span></a>                               
            </li>
        </ul>
    </div>
    <div id="div1" style="width:17%; height:28%;" ><img src="img/107.png" />
    <form method="post" action="step3.php">
        <input name="kleur" type="text" value="" id="hiddencolor" />
        <input name="submit" type="submit" value="Submit" />
    </form>   
</div>

3 个答案:

答案 0 :(得分:1)

将父div的宽度从17%更改为width的{​​{1}},换句话说img

演示:http://jsfiddle.net/V9zEH/5/

答案 1 :(得分:1)

        $('#div1 img').removeClass().addClass(color);

这会是你想要的吗?

如果你想要的是不会溢出图像内部边框的颜色,我能找到的唯一解决方案是编辑图像,这样就有白色,你不想看到颜色 - 而不是透明的。

我无法理解你想要实现的目标。 :|

答案 2 :(得分:0)

尝试:

$(function () {
    $('.iconWrapper span').click(function (e) {
        var $span = $(this),
            color = $span.attr('class');
        $('#div1 img').css('background-color', $span.css('background-color'));

        $('#hiddencolor').val(color);
        e.preventDefault();
    });
});

Test the effect here »