【问题标题】:Manipulating sections in a web-page - create, expand操作网页中的部分 - 创建、扩展
【发布时间】:2011-12-18 01:40:19
【问题描述】:

我有 3 个问题:

如何在网页中创建不同的部分 - 比如在 Gmail 中?

在设计 HTML/Javascript 页面时,如果您检查 Gmail,将鼠标指向收件箱,展开该部分,然后将鼠标移到右侧将其返回到相同的位置 - 怎么做?他们使用了什么技术?

他们的滚动条有同样的问题 - 如何将普通滚动条的样式更改为我想要的不同样式?

【问题讨论】:

  • 无需费心登录 gmail 来查看您所说的扩展部分效果,我假设他们正在使用 JavaScript 来处理 mouseover 和 mouseout 事件,和/或 CSS :hover 伪类。
  • 是的 - 但你如何 - 使用事件创建那些“扩展框”
  • 这个问题的答案需要更多的网页创建教程。您应该将您的三个问题作为三个单独的帖子提出。一旦您了解了如何在页面上创建部分,您就可以考虑如何使它们改变大小以响应用户交互。而且滚动条的东西完全不相关......

标签: javascript html user-interface gmail


【解决方案1】:

首先,您可以将组划分为 div,因此得名。但是 Javascript 有一个相当简单的代码,这是我使用的全部代码

<p align="center" class="style1"><script language="JavaScript1.2">

var tickercontents=new Array()
tickercontents[0]='<strong>(text here)</strong></a>'
tickercontents[1]='<strong>(text here)</strong><a>'
tickercontents[2]='<strong>(text here)</strong><a>'


//configure the below 2 variables to set the width/background color of the ticker
var tickerwidth='760px'
var tickerbgcolor='#CC66FF'

//configure the below variable to determine the delay between ticking of messages (in         miliseconds)
var tickdelay=6000

////Do not edit past this line////////////////

var ie4=document.all
var ns6=document.getElementById
var ns4=document.layers

var currentmessage=0
var tickercontentstotal=''

function changetickercontent(){
if (ns4){
tickerobj.document.tickernssub.document.write('<b><a href="#" onClick="return      expandlist(event)">Expand</a></b> | '+tickercontents[currentmessage])
tickerobj.document.tickernssub.document.close()
}
else if (ie4||ns6){
tickerobj.innerHTML=tickercontents[currentmessage]
previousmessage=(currentmessage==0)? tickercontents.length-1 : currentmessage-1
tickerexpand_item=ns6? document.getElementById("expand"+currentmessage) :             eval("expand"+currentmessage)
tickerexpand_previousitem=ns6? document.getElementById("expand"+previousmessage) :     eval("expand"+previousmessage)
tickerexpand_previousitem.className=""
tickerexpand_item.className="expandhighlight"
}

currentmessage=(currentmessage==tickercontents.length-1)? 0 : currentmessage+1
setTimeout("changetickercontent()",tickdelay)
}

function start_ticking(){
if (ns4) document.tickernsmain.visibility="show"
tickerobj=ie4? tickerlist : ns6? document.getElementById("tickerlist") : ns4?     document.tickernsmain : ""
tickerexpandobj=ie4? tickerexpand : ns6? document.getElementById("tickerexpand") : ns4?     document.expandlayer : ""

for (i=0;i<tickercontents.length;i++) //get total scroller contents
tickercontentstotal+='<div id="expand'+i+'">- '+tickercontents[i]+'</div>'
if (ie4||ns6)
tickerexpandobj.innerHTML=tickercontentstotal
else{
tickerexpandobj.document.write(tickercontentstotal)
tickerexpandobj.document.close()
}
changetickercontent()
}

function expandlist(e){
if (ie4||ns6){
tickerexpand_parent=ie4? tickerexpand.parentElement :         document.getElementById("tickerexpand").parentNode
tickerexpand_parent.style.display=(tickerexpand_parent.style.display=="none")? "" :     "none"
}
else{
document.expandlayer.left=e.pageX-e.layerX
document.expandlayer.top= e.pageY-e.layerY+20
document.expandlayer.visibility=(document.expandlayer.visibility=="hide")? "show" :     "hide"
return false
}
}

if (ie4||ns6)
document.write('<table border="0" style="width:'+tickerwidth+';border:1px solid     black;text-indent:2px" bgcolor="'+tickerbgcolor+'" cellspacing="0" cellpadding="0"><tr><td     width="90%" id="tickerlist" bgcolor="'+tickerbgcolor+'"></td><td width="10%"     bgcolor="'+tickerbgcolor+'"><div id="listbutton" onClick="expandlist()">Expand</div></td>    </tr><tr style="display:none"><td id="tickerexpand" width="90%" bgcolor="'+tickerbgcolor+'">     </td><td width="10%"></td></tr></table>')

window.onload=start_ticking
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2014-10-19
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    相关资源
    最近更新 更多