實現對焦圖片放大
http://www.wangyexx.com/s_img/991.html
簡單文字提示
http://www.wangyexx.com/s_mouse/990.html
滑鼠移向文字彈出說明文字
http://www.wangyexx.com/s_mouse/693.html
Translate
2011年12月26日 星期一
2011年12月23日 星期五
iframe loading 與優化
有時後一個版面會嵌入好幾個iframe
後面應該用css來分會比較好啦
暫時先來簡單的…
引用:http://www.cnblogs.com/micheng11/archive/2009/03/31/1425883.html
但是IE可行,放在Firefox(FF)就…轉個不停...
引用:http://www.cnblogs.com/lovko/archive/2009/01/04/1368013.html
結束了,最後做個小小的整理
<script type="text/javascript">
function stateChangeIE(_frame,loadid) {
var b = document.getElementById(loadid.toString());
_frame.style.display = "none";
b.style.display = "block";
_frame.onreadystatechange = function() {
if (this.readyState == "complete") {
b.style.display = "none";
_frame.style.display = "block";
}
}
}
function stateChangeFirefox(_frame,loadid) {
var loader = document.getElementById(loadid.toString());
loader.style.display = "none";
_frame.style.display = "block";
}
</script>
<div id="load" ><img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" /></div>
<iframe id="demoframe" onreadystatechange=stateChangeIE(this,'load') onload=stateChangeFirefox(this,'load') src="輸入連結網頁" ></iframe>
好文:
http://www.seomydream.com/seo-jiqiao/iframe.htm,如何優化iframe框架的技巧
http://www.cnblogs.com/tianguook/archive/2010/06/24/1764235.html,Frame、iFrame、noframe的區別和使用
後面應該用css來分會比較好啦
暫時先來簡單的…
引用:http://www.cnblogs.com/micheng11/archive/2009/03/31/1425883.html
但是IE可行,放在Firefox(FF)就…轉個不停...
引用:http://www.cnblogs.com/lovko/archive/2009/01/04/1368013.html
結束了,最後做個小小的整理
<script type="text/javascript">
function stateChangeIE(_frame,loadid) {
var b = document.getElementById(loadid.toString());
_frame.style.display = "none";
b.style.display = "block";
_frame.onreadystatechange = function() {
if (this.readyState == "complete") {
b.style.display = "none";
_frame.style.display = "block";
}
}
}
function stateChangeFirefox(_frame,loadid) {
var loader = document.getElementById(loadid.toString());
loader.style.display = "none";
_frame.style.display = "block";
}
</script>
<div id="load" ><img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif" /></div>
<iframe id="demoframe" onreadystatechange=stateChangeIE(this,'load') onload=stateChangeFirefox(this,'load') src="輸入連結網頁" ></iframe>
好文:
http://www.seomydream.com/seo-jiqiao/iframe.htm,如何優化iframe框架的技巧
http://www.cnblogs.com/tianguook/archive/2010/06/24/1764235.html,Frame、iFrame、noframe的區別和使用
2011年12月22日 星期四
浮水印文字
引用連結:http://digitalbush.com/projects/watermark-input-plugin/
當載好兩個js檔之後,放到同一個資料夾,就可以使用了
<head runat="server">
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.watermarkinput.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
$("#TextBox1").Watermark("輸入你要的字", "#dedede");
});
</script>
</head>
<body>
<div>
<asp:TextBox ID="TextBox1" runat="server></asp:TextBox>
</div>
</body>
PS.請注意一下如果是.master記得id要變成
jQuery(function($) {
$("#ctl00_ TextBox1 ").Watermark("輸入你要的字", "#dedede");
});
===
後續補充→發現這一篇可以做到更簡單去了解
ref→http://blog.roodo.com/esabear/archives/9329889.html
ref→http://blog.asflexer.com/jquery-textbox-watermark
.waterMarkText // 可以放你想要設定的任何浮水印效果
{
color:#888888;
}
<asp:TextBox ID="txbTitle" runat="server" tooltip="輸入浮水印文字"></asp:TextBox>
<script type="text/javascript">
$(function () {
var txtbox = $('#<%=txbTitle.ClientID%>');
txtbox.focus(function () {
if (txtbox.val() == this.title) {
txtbox.removeClass("waterMarkText");
txtbox.val("");
}
});
txtbox.blur(function () {
if (txtbox.val() == "") {
txtbox.addClass("waterMarkText");
txtbox.val(this.title);
}
});
txtbox.blur();
});
</script>
當載好兩個js檔之後,放到同一個資料夾,就可以使用了
<head runat="server">
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.watermarkinput.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
$("#TextBox1").Watermark("輸入你要的字", "#dedede");
});
</script>
</head>
<body>
<div>
<asp:TextBox ID="TextBox1" runat="server></asp:TextBox>
</div>
</body>
PS.請注意一下如果是.master記得id要變成
jQuery(function($) {
$("#ctl00_ TextBox1 ").Watermark("輸入你要的字", "#dedede");
});
===
後續補充→發現這一篇可以做到更簡單去了解
ref→http://blog.roodo.com/esabear/archives/9329889.html
ref→http://blog.asflexer.com/jquery-textbox-watermark
.waterMarkText // 可以放你想要設定的任何浮水印效果
{
color:#888888;
}
<asp:TextBox ID="txbTitle" runat="server" tooltip="輸入浮水印文字"></asp:TextBox>
<script type="text/javascript">
$(function () {
var txtbox = $('#<%=txbTitle.ClientID%>');
txtbox.focus(function () {
if (txtbox.val() == this.title) {
txtbox.removeClass("waterMarkText");
txtbox.val("");
}
});
txtbox.blur(function () {
if (txtbox.val() == "") {
txtbox.addClass("waterMarkText");
txtbox.val(this.title);
}
});
txtbox.blur();
});
</script>
2011年12月16日 星期五
Mantis安裝篇
呼~最近因為需求而要架設Mantis,上網找了不少好文章
並將遇到的問題與解決方法丟上來,希望下次遇到少花點時間
共安裝了以下軟體
安裝順序也如下…
1.mysql-5.5.19-winx64.msi
2.php-5.3.8-Win32-VC9-x86.msi
3.phpMyAdmin-2.5.7-pl1
4.mantisbt-1.2.8
參考網址:http://www.php5.idv.tw/html.php?mod=article&do=show&shid=19
大部份按照上面裝的應該就少很多了…
測試一下mysql跟php是否連結,這個問題真的很煩人…@@a
認證可以參考:http://php.net/manual/en/function.mysql-connect.php
做一個測試頁面丟上去測…
<?php
$link = mysql_connect('localhost', '帳號', '密碼');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
如果出現成功非常恭喜您,很不幸的跟我一樣失敗的話,建議先到
安裝PHP的資料夾看一下
更詳細一點可以看:http://micki.blogbus.com/logs/30395887.html
或者:http://www.dreamweaver.com.tw/index.php?fid=2&viewtopic=3436
1.MySQL Server 5.5\lib\libmysql.dll 丟到php\ext\底下
2.重開你的阿法器
##中間如果你的阿法器重開失敗,建議把MYSQL停用,亂放的php.ini檔先砍了,然後應該就能重開了= =;;
大致上安裝好沒問題就收案了XD
接下來只要將phpMyAdmin-2.5.7資料夾丟進去,也能順利開啟
詳細的話也可看:http://www.cnbruce.com/blog/showlog.asp?log_id=1211
這個也很不錯:http://www.chweng.idv.tw/serverguide/phpmyadmin.php
mantisbt配置說明可看:http://micki.blogbus.com/logs/38031962.html
mantisbt-1.2.8的資料夾也丟進去,開啟安裝頁面,輸入帳密也能開啟
預設為administrator /pwd: root
大概接下來可能會遇到還有上面的紅字問題:(php.ini )
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
新增這一段→ date.timezone = PRC
整理了一下比較詳細的設定mantis\config_inc.php
參考:http://www.prudentman.idv.tw/2009/01/mantis-13.html
# 時區設定,不加首頁會有warning
date_default_timezone_set("Asia/Taipei");
# 設定語系為繁體中文
$g_default_language = "chinese_traditional";
# 設定是否讓人註冊帳號(系統使用者都加入帳號以後可以改成OFF)
$g_allow_signup = ON;
# 選用SMTP模式
$g_phpMailer_method= PHPMAILER_METHOD_SMTP ;
$g_smtp_host= 'smtp.gmail.com';
$g_smtp_username = 'xxx@gmail.com';
$g_smtp_password = 'xxx';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 465;
//File Upload
$g_file_upload_method = DISK;
$g_absolute_path_default_upload_folder = 'C:/mantis/upload/'; //記得手動建立這個目錄
$g_max_file_size = 5000000; //上傳檔案最大5MB, 與php.ini有關, 若有需要記得調整php.ini內的upload_max_filesize
$g_disallowed_files = 'php,php3,phtml,html,class,java,exe,pl'; //不允許上傳的檔案類型
如果要直接開啟的話是在Apache2.2\conf\httpd.conf
最尾頁加上
Alias /mantis "c:/mantis/"
<Directory "c:/mantis/">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
然後找
DirectoryIndex index.html
→DirectoryIndex index.html index.html index.html.var index.php
這樣就會轉頁面了XDD
改中文的話→管理→管理使用者→點一個使用者→語件→選中文(恩…自已翻英文)
然後要新增專案的話
可以到管理專案→看到左上角有一個『新增專案』的按鈕,不是新增類別喔T_T
並將遇到的問題與解決方法丟上來,希望下次遇到少花點時間
共安裝了以下軟體
安裝順序也如下…
1.mysql-5.5.19-winx64.msi
2.php-5.3.8-Win32-VC9-x86.msi
3.phpMyAdmin-2.5.7-pl1
4.mantisbt-1.2.8
參考網址:http://www.php5.idv.tw/html.php?mod=article&do=show&shid=19
大部份按照上面裝的應該就少很多了…
測試一下mysql跟php是否連結,這個問題真的很煩人…@@a
認證可以參考:http://php.net/manual/en/function.mysql-connect.php
做一個測試頁面丟上去測…
<?php
$link = mysql_connect('localhost', '帳號', '密碼');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
如果出現成功非常恭喜您,很不幸的跟我一樣失敗的話,建議先到
安裝PHP的資料夾看一下
更詳細一點可以看:http://micki.blogbus.com/logs/30395887.html
或者:http://www.dreamweaver.com.tw/index.php?fid=2&viewtopic=3436
1.MySQL Server 5.5\lib\libmysql.dll 丟到php\ext\底下
2.重開你的阿法器
##中間如果你的阿法器重開失敗,建議把MYSQL停用,亂放的php.ini檔先砍了,然後應該就能重開了= =;;
大致上安裝好沒問題就收案了XD
接下來只要將phpMyAdmin-2.5.7資料夾丟進去,也能順利開啟
詳細的話也可看:http://www.cnbruce.com/blog/showlog.asp?log_id=1211
這個也很不錯:http://www.chweng.idv.tw/serverguide/phpmyadmin.php
mantisbt配置說明可看:http://micki.blogbus.com/logs/38031962.html
mantisbt-1.2.8的資料夾也丟進去,開啟安裝頁面,輸入帳密也能開啟
預設為administrator /pwd: root
大概接下來可能會遇到還有上面的紅字問題:(php.ini )
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
新增這一段→ date.timezone = PRC
整理了一下比較詳細的設定mantis\config_inc.php
參考:http://www.prudentman.idv.tw/2009/01/mantis-13.html
# 時區設定,不加首頁會有warning
date_default_timezone_set("Asia/Taipei");
# 設定語系為繁體中文
$g_default_language = "chinese_traditional";
# 設定是否讓人註冊帳號(系統使用者都加入帳號以後可以改成OFF)
$g_allow_signup = ON;
# 選用SMTP模式
$g_phpMailer_method= PHPMAILER_METHOD_SMTP ;
$g_smtp_host= 'smtp.gmail.com';
$g_smtp_username = 'xxx@gmail.com';
$g_smtp_password = 'xxx';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 465;
//File Upload
$g_file_upload_method = DISK;
$g_absolute_path_default_upload_folder = 'C:/mantis/upload/'; //記得手動建立這個目錄
$g_max_file_size = 5000000; //上傳檔案最大5MB, 與php.ini有關, 若有需要記得調整php.ini內的upload_max_filesize
$g_disallowed_files = 'php,php3,phtml,html,class,java,exe,pl'; //不允許上傳的檔案類型
如果要直接開啟的話是在Apache2.2\conf\httpd.conf
最尾頁加上
Alias /mantis "c:/mantis/"
<Directory "c:/mantis/">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
然後找
DirectoryIndex index.html
→DirectoryIndex index.html index.html index.html.var index.php
這樣就會轉頁面了XDD
改中文的話→管理→管理使用者→點一個使用者→語件→選中文(恩…自已翻英文)
然後要新增專案的話
可以到管理專案→看到左上角有一個『新增專案』的按鈕,不是新增類別喔T_T
2011年12月14日 星期三
ZIP靨縮(子資料夾循迴
引用:http://blog.sina.com.cn/s/blog_456cc2c401000c70.html
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.IO;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;
/// <summary>
/// ZipFloClass 的摘要说明
/// </summary>
public class ZipFloClass
{
public void ZipFile(string strFile, string strZip)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar)
strFile += Path.DirectorySeparatorChar;
ZipOutputStream s = new ZipOutputStream(File.Create(strZip));
s.SetLevel(6); // 0 - store only to 9 - means best compression
zip(strFile, s, strFile);
s.Finish();
s.Close();
}
private void zip(string strFile, ZipOutputStream s, string staticFile)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar) strFile += Path.DirectorySeparatorChar;
Crc32 crc = new Crc32();
string[] filenames = Directory.GetFileSystemEntries(strFile);
foreach (string file in filenames)
{
if (Directory.Exists(file))
{
zip(file, s, staticFile);
}
else // 否则直接压缩文件
{
//打开压缩文件
FileStream fs = File.OpenRead(file);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string tempfile = file.Substring(staticFile.LastIndexOf("\\") + 1);
ZipEntry entry = new ZipEntry(tempfile);
entry.DateTime = DateTime.Now;
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
}
}
}
、、、、、、、、、、、、、、、
using System;
using System.Data;
using System.Web;
using System.Text;
using System.Collections;
using System.IO;
using System.Diagnostics;
using System.Runtime.Serialization.Formatters.Binary;
using ICSharpCode.SharpZipLib.BZip2;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Zip.Compression;
using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using ICSharpCode.SharpZipLib.GZip;
using ICSharpCode.SharpZipLib.Checksums;
/// <summary>
/// UnZipFloClass 的摘要说明
/// </summary>
public class UnZipFloClass
{
public string unZipFile(string TargetFile, string fileDir)
{
string rootFile = " ";
try
{
//读取压缩文件(zip文件),准备解压缩
ZipInputStream s = new ZipInputStream(File.OpenRead(TargetFile.Trim()));
ZipEntry theEntry;
string path = fileDir;
//解压出来的文件保存的路径
string rootDir = " ";
//根目录下的第一个子文件夹的名称
while ((theEntry = s.GetNextEntry()) != null)
{
rootDir = Path.GetDirectoryName(theEntry.Name);
//得到根目录下的第一级子文件夹的名称
if (rootDir.IndexOf("\\") >= 0)
{
rootDir = rootDir.Substring(0, rootDir.IndexOf("\\") + 1);
}
string dir = Path.GetDirectoryName(theEntry.Name);
//根目录下的第一级子文件夹的下的文件夹的名称
string fileName = Path.GetFileName(theEntry.Name);
//根目录下的文件名称
if (dir != " " )
//创建根目录下的子文件夹,不限制级别
{
if (!Directory.Exists(fileDir + "\\" + dir))
{
path = fileDir + "\\" + dir;
//在指定的路径创建文件夹
Directory.CreateDirectory(path);
}
}
else if (dir == " " && fileName != "")
//根目录下的文件
{
path = fileDir;
rootFile = fileName;
}
else if (dir != " " && fileName != "")
//根目录下的第一级子文件夹下的文件
{
if (dir.IndexOf("\\") > 0)
//指定文件保存的路径
{
path = fileDir + "\\" + dir;
}
}
if (dir == rootDir)
//判断是不是需要保存在根目录下的文件
{
path = fileDir + "\\" + rootDir;
}
//以下为解压缩zip文件的基本步骤
//基本思路就是遍历压缩文件里的所有文件,创建一个相同的文件。
if (fileName != String.Empty)
{
FileStream streamWriter = File.Create(path + "\\" + fileName);
int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
streamWriter.Close();
}
}
s.Close();
return rootFile;
}
catch (Exception ex)
{
return "1; " + ex.Message;
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.IO;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;
/// <summary>
/// ZipFloClass 的摘要说明
/// </summary>
public class ZipFloClass
{
public void ZipFile(string strFile, string strZip)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar)
strFile += Path.DirectorySeparatorChar;
ZipOutputStream s = new ZipOutputStream(File.Create(strZip));
s.SetLevel(6); // 0 - store only to 9 - means best compression
zip(strFile, s, strFile);
s.Finish();
s.Close();
}
private void zip(string strFile, ZipOutputStream s, string staticFile)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar) strFile += Path.DirectorySeparatorChar;
Crc32 crc = new Crc32();
string[] filenames = Directory.GetFileSystemEntries(strFile);
foreach (string file in filenames)
{
if (Directory.Exists(file))
{
zip(file, s, staticFile);
}
else // 否则直接压缩文件
{
//打开压缩文件
FileStream fs = File.OpenRead(file);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string tempfile = file.Substring(staticFile.LastIndexOf("\\") + 1);
ZipEntry entry = new ZipEntry(tempfile);
entry.DateTime = DateTime.Now;
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
}
}
}
、、、、、、、、、、、、、、、
using System;
using System.Data;
using System.Web;
using System.Text;
using System.Collections;
using System.IO;
using System.Diagnostics;
using System.Runtime.Serialization.Formatters.Binary;
using ICSharpCode.SharpZipLib.BZip2;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Zip.Compression;
using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using ICSharpCode.SharpZipLib.GZip;
using ICSharpCode.SharpZipLib.Checksums;
/// <summary>
/// UnZipFloClass 的摘要说明
/// </summary>
public class UnZipFloClass
{
public string unZipFile(string TargetFile, string fileDir)
{
string rootFile = " ";
try
{
//读取压缩文件(zip文件),准备解压缩
ZipInputStream s = new ZipInputStream(File.OpenRead(TargetFile.Trim()));
ZipEntry theEntry;
string path = fileDir;
//解压出来的文件保存的路径
string rootDir = " ";
//根目录下的第一个子文件夹的名称
while ((theEntry = s.GetNextEntry()) != null)
{
rootDir = Path.GetDirectoryName(theEntry.Name);
//得到根目录下的第一级子文件夹的名称
if (rootDir.IndexOf("\\") >= 0)
{
rootDir = rootDir.Substring(0, rootDir.IndexOf("\\") + 1);
}
string dir = Path.GetDirectoryName(theEntry.Name);
//根目录下的第一级子文件夹的下的文件夹的名称
string fileName = Path.GetFileName(theEntry.Name);
//根目录下的文件名称
if (dir != " " )
//创建根目录下的子文件夹,不限制级别
{
if (!Directory.Exists(fileDir + "\\" + dir))
{
path = fileDir + "\\" + dir;
//在指定的路径创建文件夹
Directory.CreateDirectory(path);
}
}
else if (dir == " " && fileName != "")
//根目录下的文件
{
path = fileDir;
rootFile = fileName;
}
else if (dir != " " && fileName != "")
//根目录下的第一级子文件夹下的文件
{
if (dir.IndexOf("\\") > 0)
//指定文件保存的路径
{
path = fileDir + "\\" + dir;
}
}
if (dir == rootDir)
//判断是不是需要保存在根目录下的文件
{
path = fileDir + "\\" + rootDir;
}
//以下为解压缩zip文件的基本步骤
//基本思路就是遍历压缩文件里的所有文件,创建一个相同的文件。
if (fileName != String.Empty)
{
FileStream streamWriter = File.Create(path + "\\" + fileName);
int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
streamWriter.Close();
}
}
s.Close();
return rootFile;
}
catch (Exception ex)
{
return "1; " + ex.Message;
}
}
}
2011年12月2日 星期五
Visual C# 或 Microsoft Visual Basic 使用者入門教學課程
http://msdn.microsoft.com/zh-tw/library/dd492171.aspx
MSDN提供的教學課程,共有四種,適合初學者磨刀…
引用內容如下:
教學課程 1:建立圖片檢視器
建置一個從檔案載入圖片並將圖片顯示在視窗中的程式。 了解如何拖曳表單上的控制項 (例如按鈕和圖片方塊)、設定其屬性,以及使用容器來順暢地調整表單的大小。 開始撰寫程式碼。
教學課程 2:建立迷宮程式
建置一個迷宮遊戲,使用者必須移動滑鼠指標而不能碰觸到任何圍牆。 了解如何使用 Panel 容器來配置表單、使用 Label 控制項建置迷宮、撰寫程式碼來顯示訊息方塊、設定滑鼠事件的事件處理常式、讓程式播放音效,以及使用類別來組織程式碼。
教學課程 3:建立數學測驗
建置一個計時的數學測驗遊戲,玩家必須在指定的時間內回答四個隨機的算術問題。 了解如何使用 Random 類別產生隨機數字、使用 Timer 控制項觸發事件、使用 if else 陳述式控制程式流程,以及執行基本的算術運算。
教學課程 4:建立配對遊戲
建置一個配對遊戲,而遊戲玩家必須配對隱藏的圖示。 了解如何使用 List 物件來保留物件、使用 foreach 迴圈、使用參考變數追蹤表單的狀態、建置可用於多個物件的事件處理常式,以及讓計時器於啟動時剛好引發一次。
從一些基本的地方,總能收獲很多呀…XDD
MSDN提供的教學課程,共有四種,適合初學者磨刀…
引用內容如下:
從一些基本的地方,總能收獲很多呀…XDD
2011年12月1日 星期四
文字連續跑馬燈
在網路上找了許久,本來想以jquery製作,不過發現比較像「段落式」的跑馬燈
一下就跑一段而如果有原本的html語法的跑馬燈的話,則是會在結束後留下一大段空白
需求是:【文字/連續/尾接頭】
最後發現了一篇還不錯
可以參考如下
<DIV id=all style="OVERFLOW: hidden; WIDTH: 210px; HEIGHT: 120px">
<DIV id=m1>
<TABLE height=15 cellSpacing=0 cellPadding=0 width=210 align=center border=0>
<TBODY>
<TR>
<TD>
一段話<BR>
二段話<BR>
三段話<BR>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV id=m2></DIV>
</DIV>
<SCRIPT type=text/javascript>
var speed=45
m2.innerHTML=m1.innerHTML
function Marquee(){
if(m2.offsetTop-gg.scrollTop<=0)
all.scrollTop-=m1.offsetHeight
else{
all.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
all.onmouseover=function() {clearInterval(MyMar)}
all.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</SCRIPT>
補充一點,如果FireFox看不到效果的話,最好增加一些語法
var m2= document.getElementById('m2');
var m1= document.getElementById('m1');
var all= document.getElementById('all');
引用:
參考:
http://blog.hsin.tw/2008/javascript-vertical-carousel/
訂閱:
文章 (Atom)