2012-10-03 99 views
1

The main Question printed on the picturejQuery的棘手的事情,頂部滑塊改變從右側滑入

歐凱我是Photoshop的網頁設計和其他的程序員或程序員讓它活着。我一直在想,爲什麼我不能自己做。所以這是我的第一個項目,但jQuery不是我的東西。所以我在問你們一些幫助。請你幫幫我:d

jQuery的

/* 
* jQuery Color Animations 
* Copyright 2007 John Resig 
* Released under the MIT and GPL licenses. 
*/ 

(function(jQuery){ 

    // We override the animation for all of these color styles 
    jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ 
     jQuery.fx.step[attr] = function(fx){ 
      if (fx.state == 0) { 
       fx.start = getColor(fx.elem, attr); 
       fx.end = getRGB(fx.end); 
      } 

      fx.elem.style[attr] = "rgb(" + [ 
       Math.max(Math.min(parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0), 
       Math.max(Math.min(parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0), 
       Math.max(Math.min(parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0) 
      ].join(",") + ")"; 
     } 
    }); 

    // Color Conversion functions from highlightFade 
    // By Blair Mitchelmore 
    // http://jquery.offput.ca/highlightFade/ 

    // Parse strings looking for color tuples [255,255,255] 
    function getRGB(color) { 
     var result; 

     // Check if we're already dealing with an array of colors 
     if (color && color.constructor == Array && color.length == 3) 
      return color; 

     // Look for rgb(num,num,num) 
     if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) 
      return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])]; 

     // Look for rgb(num%,num%,num%) 
     if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) 
      return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; 

     // Look for #a0b1c2 
     if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) 
      return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; 

     // Look for #fff 
     if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) 
      return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; 

     // Otherwise, we're most likely dealing with a named color 
     return colors[jQuery.trim(color).toLowerCase()]; 
    } 

    function getColor(elem, attr) { 
     var color; 

     do { 
      color = jQuery.curCSS(elem, attr); 

      // Keep going until we find an element that has color, or we hit the body 
      if (color != '' && color != 'transparent' || jQuery.nodeName(elem, "body")) 
       break; 

      attr = "backgroundColor"; 
     } while (elem = elem.parentNode); 

     return getRGB(color); 
    }; 

    // Some named colors to work with 
    // From Interface by Stefan Petre 
    // http://interface.eyecon.ro/ 

    var colors = { 
     aqua:[0,255,255], 
     azure:[240,255,255], 
     beige:[245,245,220], 
     black:[0,0,0], 
     blue:[0,0,255], 
     brown:[165,42,42], 
     cyan:[0,255,255], 
     darkblue:[0,0,139], 
     darkcyan:[0,139,139], 
     darkgrey:[169,169,169], 
     darkgreen:[0,100,0], 
     darkkhaki:[189,183,107], 
     darkmagenta:[139,0,139], 
     darkolivegreen:[85,107,47], 
     darkorange:[255,140,0], 
     darkorchid:[153,50,204], 
     darkred:[139,0,0], 
     darksalmon:[233,150,122], 
     darkviolet:[148,0,211], 
     fuchsia:[255,0,255], 
     gold:[255,215,0], 
     green:[0,128,0], 
     indigo:[75,0,130], 
     khaki:[240,230,140], 
     lightblue:[173,216,230], 
     lightcyan:[224,255,255], 
     lightgreen:[144,238,144], 
     lightgrey:[211,211,211], 
     lightpink:[255,182,193], 
     lightyellow:[255,255,224], 
     lime:[0,255,0], 
     magenta:[255,0,255], 
     maroon:[128,0,0], 
     navy:[0,0,128], 
     olive:[128,128,0], 
     orange:[255,165,0], 
     pink:[255,192,203], 
     purple:[128,0,128], 
     violet:[128,0,128], 
     red:[255,0,0], 
     silver:[192,192,192], 
     white:[255,255,255], 
     yellow:[255,255,0] 
    }; 

})(jQuery); 

的HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<link rel="stylesheet" href="css/temp.css" type="text/css" /> 
<title>Nofu entertainment</title> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".btn-slide").click(function(){ 
     $("#panel").slideToggle("slow"); 
     $(this).toggleClass("active"); return false; 
    }); 
}); 
</script> 
</head> 
<body> 
    <div id="main"> 
<div id="panel"> 
    <!-- you can put content here --> 
</div> 
<p class="slide"><a href="#" class="btn-slide">Slide Panel</a></p> 
    </div> 
</body> 
</html> 

的CSS

body { 
    margin: 0 auto; 
    padding: 0; 
    width: 570px; 
    font: 75%/120% Arial, Helvetica, sans-serif; 
} 
a:focus { 
    outline: none; 
} 
#main { 
    margin: 100px 0; 
    width: 570px; 
    height: 570px; 
} 
#panel { 
    background: #754c24; 
    height: 200px; 
    display: none; 
} 
.slide { 
    margin: 0; 
    padding: 0; 
    border-top: solid 4px #422410; 
    background: url(../images/btn-slide.gif) no-repeat center top; 
} 
.btn-slide { 
    background: url(../images/white-arrow.gif) no-repeat right -50px; 
    text-align: center; 
    width: 144px; 
    height: 31px; 
    padding: 10px 10px 0 0; 
    margin: 0 auto; 
    display: block; 
    font: bold 120%/100% Arial, Helvetica, sans-serif; 
    color: #fff; 
    text-decoration: none; 
} 
.active { 
    background-position: right 12px; 
} 
+0

因此,沒有人知道該怎麼辦呢?要不就? –

+0

不錯的想法。 – Sagotharan

回答

0

jsFiddle

HTML:

<div class="container"> 
    <div rel="1" class="box">1</div> 
    <div rel="2" class="box">2</div> 
    <div rel="3" class="box">3</div> 
    <div rel="4" class="box">4</div> 
    <div rel="5" class="box">5</div> 
    <div rel="6" class="box">6</div> 
</div> 
<div class="slidepanel"> 
    <div class="closebtn">X</div> 
    <div class="content"></div> 
</div>​ 

CSS:

.container{ 
    width:400px; 
    float:right; 
    margin-right:100px; 
} 
.box{ 
    width:70px; 
    height:45px; 
    background:orange; 
    float:right; 
    margin:20px; 
    border-radius:7px; 
    text-align:center; 
    padding-top:25px; 
} 
.slidepanel{ 
    position:absolute; 
    right:0; 
    background:brown; 
    width:0px; 
    height:300px; 
} 
.closebtn{ 

    color:white; 
    width:20px; 
    height:20px; 
    background:red; 
    right:0; 
    text-align:center; 
} 
.content{ 
    font-size:60px; 
    color:white; 
    text-align:center; 
    padding-top:50px; 
} 
​ 

JQUERY:

$('.box').click(function(){ 
    $('.slidepanel').animate({"width":"500px"},1000); 
    var i=$(this).attr('rel'); 
    $(".content").html(i); 
}); 
$('.closebtn').click(function(){ 
    $('.slidepanel').animate({"width":"0px"},1000); 
});