首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局If Else语句

全局If Else语句
EN

Stack Overflow用户
提问于 2013-10-11 11:32:47
回答 2查看 131关注 0票数 1

http://liveweave.com/EvfTww

我有两个单选按钮,一个是div,另一个是删除。

我在html中添加了一些div,当我选择remove时,我希望能够在点击#画布中删除div。

下面提供的函数只有在选中div时才能工作,但是当我从代码编辑器中在画布中添加新的div时,我也希望能够删除这些div。

任何帮助都是非常感谢的。

代码语言:javascript
复制
<table id="main" border="1">
    <tr>
        <td id="canvas" valign="top"></td>
        <td valign="top">
            <div id="control_box">
                <form id='tools'>
                    <input name="tool" id="tool-1" checked="checked" type="radio">
                    <label for="tool-1">DIV</label>

                    <input name="tool" id="tool-2" type="radio">
                    <label for="tool-2">Remove</label>
                </form><br>

                Border Width <select id="divborder">
                      <option value="1px">1px</option>
                      <option value="2px">2px</option>
                      <option value="3px" selected="selected">3px</option>
                      <option value="5px">5px</option>
                      <option value="7px">7px</option>
                      <option value="8px">8px</option>
                      <option value="9px">9px</option>
                      <option value="10px">10px</option>
                </select><br>

                Border Style <select id="divborderstyle">
                      <option value="dotted">dotted</option>
                      <option value="dashed">dashed</option>
                      <option value="solid" selected="selected">solid</option>
                      <option value="double">double</option>
                      <option value="groove">groove</option>
                      <option value="ridge">ridge</option>
                      <option value="inset">inset</option>
                      <option value="outset">outset</option>
                </select><br>

                Border Color 
                <input id="bcolor" type="text" name="bcolor" value="#f00" /></div><br>

                BG Color
                <input id="bgcolor" type="text" name="bgcolor" value="#000" onchange="window.set_fill_color(this.value); var col = this.value ; $('#colorSelectorFill').ColorPickerSetColor(col);" /></div>
                <input type="button" id="nobg" value="none">
            </div><br><br>

            <textarea id='code' placeholder="The #canvas acts as page body"></textarea>
        </td>
    </tr>
</table>

JQuery/JavaScript

代码语言:javascript
复制
$('#tool-2').change(function() {
    if ($(this).is(':checked')) {
        alert('Remove Tool Chosen! You can now remove divs within the canvas.');

        $('#canvas div').on('click', function() {
            $(this).remove();
            code.val(preview.html());
        });

    } else {
        alert('Houston we have a problem!');
    }
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-11 12:55:01

http://liveweave.com/lXdfqr

我使用了和以前一样的函数,但是这次我把它放到另一个函数中,叫做canvastools,我删除了another语句,因为我不需要这个实验。

代码语言:javascript
复制
function canvastools(e) {
    if ($('#tool-2').is(':checked')) {
        $('#canvas div').on('click', function() {
            $(this).remove();
            code.val(preview.html());
        });

    }
}

然后,我调用该函数时声明,当文档被更改时,它将调用该函数。

代码语言:javascript
复制
$(document).change(function(e) { 
    canvastools(e);
});

我发现使用select元素有点容易,但是并不是完全孤立的。即使选择了另一个工具/选项,remove工具的功能仍然适用。我还没想出解决那个问题的办法。

这是新的小提琴/织布- http://liveweave.com/e5Efnc

代码语言:javascript
复制
function wrappertools(e) {

    // Tools
    $("select#tools").each(function() {

        // DIV Tool
        if ($(this).val() === 'div') {
            $('#divoptions').show();
            $('#spanoptions').hide();

            // No Background Option
            $('#nobg').click(function() {
                $('input[name=bgcolor]').val('none');
            });

            var bcolor = $('input[name=bcolor]').val(),
                bgcolor = $('input[name=bgcolor]').val(),
                divborderstyle = $('#divborderstyle').val(),
                divborder = $('#divborder').val();

            alert('DIV Tool Selected!');
        }

        // Text Tool
        if ($(this).val() === 'text'){
            $('#spanoptions').show();
            $('#divoptions').hide();

          alert('Text Tool Selected!');

            // No Background Option
            $('#nospanbg').click(function() {
                $('input[name=spanbgcolor]').val('none');
            });

            $('#addspantext').on('click', function() {
                var spanbcolor = $('input[name=spanbcolor]').val(),
                    spanbgcolor = $('input[name=spanbgcolor]').val(),
                    spanborderstyle = $('#spanborderstyle').val(),
                    spanborder = $('#spanborder').val(),
                    spanfont = $('#spanfont').val(),
                    spancolor = $('#spancolor').val(),
                    spansize = $('#spansize').val(),
                    spantext = $('#spantext').val(),
                    placespan = $('<span style="position: relative; font-family: ' + spanfont + '; font-size: ' + spansize + '; font-color: ' + spancolor + '; border: ' + spanborder + ' ' + spanborderstyle + ' ' + spanbcolor + '; background: '+ spanbgcolor +';">' + spantext + '</span>');

                $('.wrapper').append(placespan);
                code.val(preview.html());
            });
            return false;
        }

        // Remove Tool
        if ($(this).val() === 'remove') {
          alert('Remove Tool Selected!');
            $('#divoptions').hide();
            $('#spanoptions').hide();
            $('.wrapper div, .wrapper span').on('click', function() {
                $(this).remove();
                code.val(preview.html());
            });
            return false;
        }
    });
}

$(document).ready(function(e) { 
    wrappertools(e);
});

$(document).change(function(e) { 
    wrappertools(e);
});
票数 0
EN

Stack Overflow用户

发布于 2013-10-11 11:37:37

试着做些类似的事情;

代码语言:javascript
复制
<input type="radio" name="test" value="div" checked> div
<input type="radio" name="test" value="remove"> remove

$("input[@name='test']").change(function(){
    $("#parent_div_id").hide();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19317136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档