2012-01-02 3 views
0

몇 달 전 jquery animate 기능을 사용하여 div를 표시 할 수있었습니다.몇 가지 특정 효과 (확대, 축소)로 DIV를 표시하는 방법

.ui-dialog 
{ 
width: 200px; 
height: 50px; 
background: red; 

position: fixed; 
left: 50%; 
top: -100px; 
margin-left: -100px; 
} 

var dialogue = $('.ui-dialog') 

dialogue.animate({ 
left: "50%", 
top: "50%", 
marginLeft: -dialogue.width()/2, 
marginTop: -dialogue.height()/2 
}, 1000); 

<div class="ui-dialog">hi there</div> 

위의 코드는 작동했지만 지금은 다른 질문이 있습니다 : 그것은이 같았다. 나는 약간 다른 효력을 가진 페이지의 센터에 <div />를 보여주고 싶다. 사용자가 버튼을 클릭하면 불투명도가 커지면서 <div />이 나타나고 사용자가 '닫기'버튼을 클릭하면 <div />은 불투명도가 줄어드는 것처럼 사라집니다.

이 URL로 이동하여 div가 어떻게 표시되는지 확인하십시오. 그 정확한 효과를 보여주고 내 사업부를 숨기려면 :

http://demos.kendoui.com/web/window/index.html

코드와 개념 제발 도와주세요. 여기


내가

var grower = $('.grower'); 

$('.click').click(function(){ 
grower.css({width:0, height:0, left:0, top:0}); 
var windowWidth = $(window).width(); 
var windowHeight = $(window).height(); 
var left = windowWidth/2 - 150; 
var top = windowHeight/2 - 150; 
grower.css({left:windowWidth/2, top:windowHeight/2}); 
grower.animate({width:300, height:300, left:left, top:top},500); 
}); 
+0

나는 왜 당신이 링크 자체로 이해할 수 없는지 잘 모르겠습니다. 꽤 깔끔하고 이해하기 쉽습니다. –

답변

1

fadeInfadeOut 방법

또는 .animate({opacity: 0}).animate({opacity: 1})

UPDATE을 고려 변경 : 그냥 라이브 데모를했다 : http://jsfiddle.net/qiao/L9bRR

+0

은 어디에서 샘플 코드를 제공 할 수 있습니까? u는 내가 어떤 종류의 효과를 찾고 있는지 확인합니다. – Thomas

+0

방금 ​​라이브 데모를 만들었습니다. http://jsfiddle.net/qiao/L9bRR/ – qiao

0

실제로 jQuery UI를 사용하고있는 것처럼 보입니다. 그렇다면 애니메이션 모듈에 번들 된 효과 (예 : "페이드")를 사용할 수 있습니다. 효과를 볼에 페이드하기 전에, 당신의 <div />의 높이 & 폭은 모두 0이어야

// To fade in growing... 
$('#div').animate({ 
    opacity : 1, 
    height : 300, // You desired height. 
    width : 400 
}); 

// To fade out shrinking... 
$('#div').animate({ 
    opacity : 1, 
    height : 0, 
    width : 0 
}); 

: 다른 한편에서는 다음과 같은 코드를 시도 할 수 있습니다.

+1

'0'대신 높이와 너비에'hide'와'show'를 사용하십시오. – MacMac

0

이 그것을 할 것입니다 : http://jsfiddle.net/Sj4eG/3/

당신은 position:absolute와 애니메이션 사업부를 배치해야합니다. 애니메이션을 트리거하는 div를 클릭하면 창의 높이 및 너비를 파악하여 증가하는 div의 초기 시작 위치와 애니메이션을 적용해야하는 위치를 파악합니다.

HTML

<div class="click">Click here</div> 
<div class="grower"></div> 

CSS

.click {background:#ccc; border:1px solid black; padding:10px; display:inline-block} 
.grower {width:0; height:0; background:red; position:absolute; top:150px; left:150px} 

JS

VAR 재배자 = $ ('재배.');

$('.click').click(function(){ 
    var windowWidth = $(window).width(); 
    var windowHeight = $(window).height(); 
    var left = windowWidth/2 - 150; 
    var top = windowHeight/2 - 150; 
    grower.css({left:windowWidth/2, top:windowHeight/2}); 
    grower.animate({width:300, height:300, left:left, top:top},500); 
}); 
+0

ur 코드가 작동하지만 재배자 div가 페이지 중앙에 나타나야하며 다른 div에 있어서는 안됩니다. 그에 따라 가능한 수정하십시오. 덕분에 – Thomas

+0

내 대답을 편집 했으니 이제 원하는대로 할 수 있습니다. – maxedison

+0

노력에 감사하지만 코드가 제대로 테스트되지 않았습니다. u를 클릭하면 여기를 두 번 클릭하면됩니다. 성장 효과가있는 div를 보여주기 위해 두 개의 버튼 하나가 필요하고 역 효과로 숨기는 또 다른 버튼이 필요합니다. 사용자가 여기를 클릭하면 버튼을 클릭 한 다음, 먼저 div를 지우고 효과 및 동일한 방법으로 div를 다시 생성해야합니다. 사용자가 hide 버튼을 클릭 한 다음 div가 이미 숨겨져 있는지 확인합니다. 가능한 경우 코드를 적절하게 변경하십시오. 내가 ur 코드를 조금 변경하지만 일이 제대로 작동하지 않았다. UR 포스트에서 변경 코드를 찾을 수 있습니다. – Thomas

2

우선 Kendo UI을 다운로드하여 프로젝트에 포함 시키십시오.

그런 다음이 효과를 사용할 페이지에서 Kendo 및 jquery.min.js 용 스크립트를 연결하십시오.

이 스크립트 태그가

<script> 
    $("#window").kendoWindow({ 
     draggable: false, 
     resizable: false, 
     width: "500px", 
     height: "300px", 
     title: "Modal Window", 
     modal: true, 
     actions: ["Refresh", "Maximize", "Close"] 
    }); 
</script> 

을 추가
<p id="window"> 
    YourContent 
</p> 

이 가지고있는 사업부에 대한 다음 코드를 사용하여 그리고 바로 그거야. 아무것도 할 필요가 없습니다 :-)

+0

나는 kendoWindow를 사용하고 싶지 않고 jquery와 div를 사용하여이를 수행해야한다. 도와 줄 수 있어요? – Thomas

+0

왜 바퀴를 재발 명하고 싶습니까? 원하는 경우에도 검도 원본 스크립트를 읽으면 모든 것을 제공합니다. –

관련 문제