JS实现一些菜单效果还是很有趣的,下面是一个JS实现的折叠菜单,可添加多项,简单实现了展开关闭效果,调用时可用JS或PHP等做一个循环就行了,按自己的使用需求使用就OK了
<script>
function openText(clickId,textId){
document.getElementById(textId).style.display=’block’;
document.getElementById(clickId).innerHTML = “<a href=\”#\” class=\”click2\” onclick=\”closeText(‘”+clickId+”‘,’”+textId+”‘)\”>[-]</a>”;
}
function closeText(clickId,textId){
document.getElementById(textId).style.display=’none’;
document.getElementById(clickId).innerHTML = “<a href=\”#\” class=\”click1\” onclick=\”openText(‘”+clickId+”‘,’”+textId+”‘)\”>[+]</a>”;
}
</script>
<style>
.click1{
background:#FF0000;
}
.click2{
background:#00FF00;
}
</style>
<div style=”float:left;” id=”click1″><a href=”#” onclick=”openText(‘click1′,’text1′)” class=”click1″>[+]</a></div><div style=”float:left;”>111111111</div><div style=”clear:both;”></div>
<div id=”text1″ style=”display:none”>11111111<br>22222222<br>33333333</div>
<div style=”float:left;” id=”click2″><a href=”#” onclick=”openText(‘click2′,’text2′)” class=”click1″>[+]</a></div><div style=”float:left;”>222222222</div><div style=”clear:both;”></div>
<div id=”text2″ style=”display:none”>11111111<br>22222222<br>33333333</div>
<div style=”float:left;” id=”click3″><a href=”#” onclick=”openText(‘click3′,’text3′)” class=”click1″>[+]</a></div><div style=”float:left;”>333333333</div><div style=”clear:both;”></div>
<div id=”text3″ style=”display:none”>11111111<br>22222222<br>33333333</div>
程序开发中有时会遇到对目录操作的一些问题 , 当然这些问题用FTP都可以轻易的解决,但是PHP本身实现这些操作也不难
主要是用到了文件指针和目录遍历,代码如下:
<?php
define(‘SYS_ROOT’, dirname(__FILE__).’/empty2/’);
define(‘SYS_ROOT_COPY’, dirname(__FILE__).’/empty’);
/*
*判断目录是否为空
*/
function emptyDir($directory){
$handle = opendir($directory);
while (($file = readdir($handle)) !== false){
//note 打印出目录下所有文件
//echo “filename: $file ==> filetype: ” . filetype(SYS_ROOT.$file) . “<br />”;
if ($file != “.” && $file != “..”){
if($file){
closedir($handle);
return false;
}
}
}
closedir($handle);
return true;
}
$getReturn = emptyDir(SYS_ROOT);
if($getReturn){
echo ‘空目录’;
}else{
echo ‘非空目录’;
}
/*
*删除目录
*/
function delDir($directory){
if (is_dir($directory) == false){
exit(“The Directory Is Not Exist!”);
}
$handle = opendir($directory);
while (($file = readdir($handle)) !== false){
if ($file != “.” && $file != “..”){
is_dir(“$directory/$file”)?delDir(“$directory/$file”):unlink(“$directory/$file”);
}
}
if (readdir($handle) == false){
closedir($handle);
rmdir($directory);
}
}
/*
*复制目录
*/
function copyDir($source, $destination){
if (!file_exists($source)){
exit(“The Source Directory Is Not Exist!”);
}
if (!file_exists($destination)){
mkdir($destination,777);
}
$handle=opendir($source);
while (false !== ($file = readdir($handle))){
if ($file != “.” && $file != “..”){
is_dir(“$source/$file”)?copyDir(“$source/$file”, “$destination/$file”):copy(“$source/$file”, “$destination/$file”);
}
}
closedir($handle);
}
copyDir(SYS_ROOT,SYS_ROOT_COPY);
这个效果很酷,用在菜单和列表上是最好不过了,我只是简单的实现了功能 , 美化没怎么做 ,喜欢的话可以自己再改改,IE7 FF测试通过
<script>
var moveNum = 110; //移动总像素
var leftNum = 25; //距左端像素
function openMenu(){
var y = moveNum;
function closelist(){
document.getElementById(‘list’).style.left=y+”px”;
y–
if(y==leftNum){clearInterval(intv);}
}
intv=setInterval(closelist,1);
}
function closeMenu(){
var y = leftNum;
function showlist(){
document.getElementById(‘list’).style.left=y+”px”;
y++;
if(y==moveNum){clearInterval(intv);}
}
intv=setInterval(showlist,1);
}
</script>
<div style=”margin-left:200px;width:110px;height:100px;background:#eeeeee;overflow:hidden”>
<div style=”width:20px;height:100px;background:#00FF00;float:right;” onclick=”openMenu()”>打开</div>
<div id=”list” name=”list” style=”float:right;height:100px;width:90px;background:#FF0000;left:110px;position:relative ;z-index:10;” >
<div style=”float:left;width:20px;height:100px;background:#0000FF;” onclick=”closeMenu()”>关闭</div>
<div style=”float:left;”>fdsfdf<br />fdsfsf</div>
</div>
</div>
<?php
class easySmtp{
var $smtp_port;
var $time_out;
var $host_name;
var $relay_host;
var $user;
var $pass;
var $sock;
function smtp($relay_host = “”, $smtp_port = 25,$user,$pass) {
$this->smtp_port = $smtp_port;
$this->relay_host = $relay_host;
$this->time_out = 30; //is used in fsockopen()
$this->user = $user;
$this->pass = $pass;
$this->host_name = “localhost”; //is used in HELO command
$this->sock = FALSE;
}
有时候显示的内容长度要限制一下,下面这个函数来自DZ,可以设定要截取自己指定长度的内容
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; 此处考虑到了用户操作DEL键,如果只是从数据库中取出内容显示的话,可以直接$strcut .= $string[$i]; 这样就可以了
function cutstr($string, $length) {
$strcut = ”;
if(strlen($string) > $length) {
for($i = 0; $i < $length – 3; $i++) {
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
return $strcut.’…’;
} else {
return $string;
}
}
$string=’12345678901234567890′;
$length=10;
echo cutstr($string, $length);
语法:STYLE=”filter:filtername(fparameter1,fparameter2…)}(Filtername为滤镜的名称,fparameter1、fparameter2等是滤镜的参数)
滤镜说明:
Alpha:设置透明层次.
blur:创建高速度移动效果,即模糊效果.
Chroma:制作专用颜色透明.
DropShadow:创建对象的固定影子.
FlipH:创建水平镜像图片.
FlipV:创建垂直镜像图片.
glow:加光辉在附近对象的边外.
gray:把图片灰度化.
invert:反色.
light:创建光源在对象上.
mask:创建透明掩膜在对象上.
shadow:创建偏移固定影子.
wave:波纹效果.
Xray:使对象变的像被x光照射一样.
More »
图型变换代码如下.
23.随机变换效果 type=”progid:DXImageTransform.Microsoft.RevealTrans(enabled=ture,transition=23)”
0.方形逐渐变小 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=square,motion=in)”
交叉形逐渐变大 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=cross,motion=out)”
菱形逐渐变小 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=diamond,motion=in)”
1.方形逐渐变大 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=square,motion=out)”
交叉形逐渐变小 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=cross,motion=in)”
菱形逐渐变大 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=diamond,motion=out)”
2.圆形逐渐变小 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=circle,motion=in)”
加号形逐渐变大 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=plus,motion=out)”
星形逐渐变小 type=”progid:DXImageTransform.Microsoft.Iris(irisstyle=star,motion=in)”
More »
今天又有人问我PHP中文乱码问题,初学PHP总是会遇到这个问题的
其实只要了解PHP的中文乱码出现的原因就很容易解决了
主要是三层
1.数据层:也就是说数据库中的编码方式,这个可以在数据库中定义一般设为UTF-8
2.数据连接层:也就是写入和读取数据的方式,使用 mysql_query(“set names UTF8″); 此句代码定义即可
3.浏览器层:也就是在浏览器上以什么编码方式输出HTML,这个大家就都知道了使用HTML的<meta>就可以定义了
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
或都使用PHP设置 header(“Content-Type:text/html;charset=utf-8″)
三个层次的编码保持一致就不会出现中文乱码问题了
如果三个层次编码一致但还是出现了中文乱码问题,那就是你所建立的文件本身的编码有问题了,更改一下文件编码就OK了,需要注意的一点是,如果从不同的编码文件复制粘贴中文有时也会出现乱码问题,如果要复制粘贴最好先把文件转成相同编码再复制粘贴操作

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 