JavaScript控制網頁層收合和展開效果的方法

來源:互聯網
上載者:User

JavaScript控制網頁層收合和展開效果的方法

 具體如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

<title>很酷的DIV層的展開收縮效果</title>

<style>

* { margin:0; padding:0;}

body {

text-align:center;

font:75% Verdana, Arial, Helvetica, sans-serif;

}

h1 {

font:125% Arial, Helvetica, sans-serif;

text-align:left; font-weight:bolder;

background:#333; padding:3px;

display:block; color:#99CC00

}

.class1 {

width:40%; background:#CCC;

position:relative; margin:0 auto;

padding:5px;}

span { position:absolute; right:10px;

top:8px; cursor:pointer; color:yellow;

}

p { text-align:left; line-height:20px;

background:#333; padding:3px; margin-top:5px;

color:#99CC00

}

#class1content {

height:300px;overflow:hidden

}

</style>

<script>

function $(element){

return element = document.getElementById(element);

}

function $D(){

var d=$('class1content');

var h=d.offsetHeight;

var maxh=300;

function dmove(){

h+=50; //設定層展開的速度

if(h>=maxh){

d.style.height='300px';

clearInterval(iIntervalId);

}else{

d.style.display='block';

d.style.height=h+'px';

}

}

iIntervalId=setInterval(dmove,2);

}

function $D2(){

var d=$('class1content');

var h=d.offsetHeight;

var maxh=300;

function dmove(){

h-=50;//設定層收縮的速度

if(h<=0){

d.style.display='none';

clearInterval(iIntervalId);

}else{

d.style.height=h+'px';

}

}

iIntervalId=setInterval(dmove,2);

}

function $use(){

var d=$('class1content');

var sb=$('stateBut');

if(d.style.display=='none'){

$D();

sb.innerHTML='收縮';

}else{

$D2();

sb.innerHTML='展開';

}

}

</script>

</head>

<body>

<div class="class1">

<h1>DIV層的展開隱藏效果</h1>

<span id="stateBut" onclick="$use()">展開</span>

<p id="class1content">曾經有一份真誠的愛情放在我面前,

<br>我沒有珍惜,<br>等我失去的時候我才後悔莫及,

<br>人世間最痛苦的事莫過於此。

<br>如果上天能夠給我一個再來一次的機會,

<br>我會對那個女孩子說三個字:<br>我愛你。

<br>如果非要在這份愛上加上一個期限,

<br>我希望是……一萬年!”

</div>

</body>

</html>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.