Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
    <head>
        <title>Project 04</title>
        <link rel="stylesheet" type="text/css" href="styles.css">
        <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
    </head>
    <body>
        <div id="topbar">
            <h2>Code Runner</h2>
            <div id="control">
                <a href="#" class="option opactive">HTML</a>
                <a href="#" class="option opactive">CSS</a>
                <a href="#" class="option opactive">JavaScript</a>
                <a href="#" class="option opactive">Output</a>
            </div>
        </div>
        
        <div id="codebox">
            <div id="HTML" class="content active">              
                <div class="contentbox">
                    <div class="contentheader">HTML</div>
                    <div class="editbox" id="HTMLeditbox">
                        <textarea id="HTMLcode" class="textareabox"></textarea>
                    </div>
                </div>
            </div>
            <div class="resize active" id="1"style="left: 25%" ondrag="dragging(event)"></div>          
            <div id="CSS" class="content active">
                <div class="contentbox">
                    <div class="contentheader">CSS</div>
                    <div class="editbox" id="CSSeditbox">
                        <textarea id="CSScode" class="textareabox"></textarea>
                    </div>
                </div>
            </div>
            <div class="resize active" id="2"style="left: 50%" ondrag="dragging(event)"></div>
            <div id="JavaScript" class="content active">
                <div class="contentbox">
                    <div class="contentheader">JavaScript</div>
                    <div class="editbox" id="JavaScripteditbox">
                        <textarea id="JavaScriptcode" class="textareabox"></textarea>
                    </div>
                </div>
            </div>
            <div class="resize active" id="3"style="left: 75%" ondrag="dragging(event)"></div>
            <div id="Output" class="content active">
                <div class="contentbox">
                    <div class="contentheader">Output</div>
                    <div class="editbox" id="Outputbox">
                        <iframe id="Outputframe" class="textareabox"></iframe>
                    </div>
                </div>
            </div>
        </div>
            
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
        <script type="text/javascript" src="jscript.js"></script>
    </body>
</html>
 
var activeCount = 4;
var selectedContent = "";
var $htmlcode, $csscode, $javascriptcode = "";
var consoleindex = 0;
resize();
$(".option").click(function(){
    var $name = $("#" + $(this).html());
    var $resize = $($name.next(".resize"));
    
    if($name.hasClass("active")){
        $(this).removeClass("opactive");
        $(this).addClass("opinactive");
        $name.removeClass("active");
        $name.addClass("inactive");
        $resize.removeClass("active");
        $resize.addClass("inactive");
        activeCount--;      
    }
    else{       
        $(this).removeClass("opinactive");
        $(this).addClass("opactive");
        $name.removeClass("inactive");
        $name.addClass("active");
        $resize.removeClass("inactive");
        $resize.addClass("active");
        activeCount++;
    }
    // console.log($name.next(".resize"));
    resize();
});
$(".content").click(function(){
    // if(selectedContent != null)
    $("#" + selectedContent).removeClass("selectedcontent");
    $(this).addClass("selectedcontent");
    selectedContent = $(this).attr("id");
    // iframeupdate();
});
$(".textareabox").keyup(function(){
    iframeupdate();
});
function resize(){
    var $content     = $(".content");
    var $boxWidth    = $("#codebox").width();
    var boxcodename  = ["#HTML", "#CSS", "#JavaScript", "#Output"];
    var boxname      = [];
    for(var index = 0; index <= 3; index++){
        if($(boxcodename[index]).hasClass("active")){
            boxname.push(boxcodename[index]);
            console.log(boxname);
        }
    }
    for(var index = 0; index < activeCount; index ++){
        if(index == 0){
            $(boxname[index]).css("left", "0");
        }
        else{
            $(boxname[index]).css("left", $(boxname[index]).prevAll(".active").css("left"));
        }
        
        if(index == activeCount-1){
            $(boxname[index]).css("right", "0");
        }
        else{
            $(boxname[index]).css("right", (($(window).width() - $(boxname[index]).next(".resize, .active").offset().left) +"px"));
        }
    }
    $("#codebox").height($(window).height() - $("#topbar").height() + "px");
    $content.height($("#codebox").height());
    $(".editbox").height($content.height() - $(".contentheader").height());
}
function iframeupdate(){
    $("#Outputframe").contents().find("html").html(
            "<style>" + $("#CSScode").val() + "</style>"
        +   $("#HTMLcode").val()
        );
    document.getElementById("Outputframe").contentWindow.eval($("#JavaScriptcode").val() );
}
$(".resize").draggable({axis: "x", containment: "parent"});
function dragging(event) {
    resize();
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers