js 放大镜 类淘宝

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   <title>放大镜效果</title>
<style type="text/css">
    div,img{margin:0;padding:0;}
    #small{width:300px;border:1px #fff solid;position:relative;float:left;}
    #small img{width:300px;float:left;}
    #showimg{width:100px;height:100px;background:#fff;opacity:0.5;filter:alpha(opacity=50);cursor:move;display:none;position:absolute;}
    #bigimg{width:214px;height:207px;float:left;display:none;}
</style>
</head>
<body>

    
"small"> "http://www.zencarttest.com/images/Ralph-Lauren-1030-Leather-Trim-Knit-Silk-Jacket.jpg" alt="shrek2"/>
"showimg">
</div>
"bigimg"
"text/javascript"> var $=function(id){return typeof(id)=="string"?document.getElementById(id):id}; var small=$("small"); var showimg=$("showimg"); var bigimg=$("bigimg"); var smallurl=small.getElementsByTagName("img")[0].getAttribute("src"); var maxwidth=maxheight=showhalf=0; small.onmouseover=function(){ showimg.style.display="block"; bigimg.style.display="block"; showhalf=showimg.offsetWidth/2; maxwidth=small.clientWidth-showimg.offsetWidth; maxheight=small.clientHeight-showimg.offsetHeight; } small.onmousemove=function(e){ e=e||window.event; mousepos=mouseposition(e); var Top=mousepos.y-small.offsetTop-showhalf; var Left=mousepos.x-small.offsetLeft-showhalf; var num=bigimg.clientWidth/showimg.clientWidth; Top=Top0?0:Top>maxheight?maxheight:Top; Left=Left0?0:Left>maxwidth?maxwidth:Left; showimg.style.top=Top+"px"; showimg.style.left=Left+"px"; bigimg.style.background="url("+smallurl+") -"+Left*num+"px -"+Top*num+"px no-repeat"; } small.onmouseout=function(){ showimg.style.display="none"; bigimg.style.display="none"; } function mouseposition(ev){ return{ x:ev.clientX+(document.body.scrollLeft||document.documentElement.scrollLeft), y:ev.clientY+(document.body.scrollTop||document.documentElement.scrollTop) } } </body> </html>

zencart数据库操作函数

zencart四个常用的数据库操作函数:

1:$db -> Execute();

执行SQL语句

2:$db -> bindVars();

在zen-cart电子商务程序中,使用查询,修改,删除语句的时候,sql语句的形成和变量的赋予都有严格的规则和技巧,大部分都是使用zen cart $db对象下bindVars()函数来处理.

比如查询email_address = ‘熊斌@136.com’邮件的会员信息,那么你就可以如此操作.

$email_address = zen_db_prepare_input($_POST[’email_address’]);//用来处理表单提交的数据
$sql = “select * from zen_customers where email_address = :email_address”;//查询语句中使用占位符
$sql = $db -> bindVars($sql,’:email_address’,$email_address,’string’);//生成sql,表示 email_address 为string变量类型.

$re = $db -> Execute($sql);//返回查询结果.在zen cart B4C 电子商务程序中,需要通过bindVars函数赋值地方很多,甚至可以赋予数组.


3:$result -> RecordCount();

执行SQL语句后返回的结果,表示为数据库执行后返回的行数

4:$result -> fields[field_name]

从结果中对应的字段中获取数据

zencart 添加新页面

在zencart里面添加新的页面有两种方法,比较简单的方法就是使用后台的简易页面编辑,只要熟悉了zencart的使用就很快知道怎么用了。

还有一种 是稍微复杂一点的,这里所说的添加一个新的页面跟上面说的那种页面不一样,这里添加的页面是可以调用系统的文件,而上面所说的那种页面就是简单的把数据添 加进去而已。

我们知道zencart是一个优秀的开源软件,因为它优秀的系统架构才使得我们可以轻易的添加一个页面到系统里面,而且新添加的页面跟系统的 耦合程度很低,就算对系统内核不是很清楚,也可以很容易的对新加入的页面进行编写相应的代码,操作相关的数据。下面就主要来讲解一下这个添加的过程。

因为我们要添加的这个页面是以index.php?main_page=test_page(如果安装seo插件后的URL是 test_page.html)这种形式的URL来访问该页面,所以添加进去的页面就成了一个模块。

这样开始的一步就是在 includes/modules/pages/目录下新建一个目录,名字就是你要添加进去的页面的名字,就拿我的例子来说,这里就是 (test_page)。该目录下面必须有的一个页面就是header_php.php,我们可以查看其它目录下都有这个页面,这里其实就是系统调用数据 库的信息,查询出在模板中使用的数据,总之它的作用就是为模板页面所需的数据做好准备。新建好这个页面以后,这个页面里面必须要添加的几处代码如下:

require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));

$breadcrumb->add(NAVBAR_TITLE);

$define_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/', FILENAME_TEST_PAGE, 'false');

 

其中NAVBAR_TITLE和FILENAME_TEST_PAGE就是第二步要做的常量定义。该目录下还可以有其他的文件,比如, 如果该页面使用到JS的话,可以添加jscript_main.php,这个文件里面主要就是JS代码,只不过它可以使用php代码。还可以添加 on_load_main.js文件,这个主要就是标签里面的onload=””内容,这里是纯JS代码。其他的页面可以参考其他目录下的页面来添加。

2、在includesfilenames.php文件中定义上面提到的FILENAME_TEST_PAGE 常量。在该文件中添加一条定义,代码如下:

define('FILENAME_TEST_PAGE', 'define_test_page');

 

在includeslanguages默认语言(我这里是english)目录下添加 test_page.php 页面,该页面主要作用是为新页面中显示的文字定义常量,因为zencart支持多语言,所以这种分离定义是有好处的。该页面最少包含 define(‘NAVBAR_TITLE’, ‘Test page’);这个是页面的标题,因为什么上面调用$breadcrumb->add(NAVBAR_TITLE);语句。

 

3、在 includeslanguages默认语言(english)html_includes 或者在该目录下新建一个以你的模板为名字的目录,然后在includeslanguages默认语言html_includes 你的模板名目录下添加页面 define_test_page.php,该页面名字前必须要有define_做前缀。这个页面就是后台页面编辑里面可以直接编辑的页面内容,添加的时 候可以为空,到时候可以在后台添加进去然后保存内容,这样他就会自己把输入的内容写人该文件,而不是存入数据库。

 

4、最后一步就是制作模板页面,在 includestemplates你的模板templates 下添加tpl_test_page_default.php页面。

 

该页面中至少 有<?php require($define_page);?>这个语句,这里就是引用了上面定义的页面的内容。具体这个页面怎么布局,怎么 设计就是在这里完成html代码的编写了。要验证是否已经成功了,先到后台–工具–页面编辑,查看下拉列表是否有该页面,如果有就选择它,开始编辑, 然后保存。完成之后到前台浏览器输入 页面地址/index.php?main_page=test_page,如果显示出刚才编辑的内容, 就说明添加成功了在mian_page中添加就可以了

C# 开机自动启动程序

新建一个winform拖一个checkbox进来。。

然后设置它的changed事件。

已经测试过,可以直接复制使用。

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked) //设置开机自启动  
            {
                MessageBox.Show ("设置开机自启动,需要修改注册表","提示");  
                string path = Application.ExecutablePath;
                RegistryKey rk = Registry.LocalMachine;
                RegistryKey rk2 = rk.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionRun");
                rk2.SetValue("JcShutdown", path);
                rk2.Close();
                rk.Close();
            }
            else //取消开机自启动  
            {
                MessageBox.Show ("取消开机自启动,需要修改注册表","提示");  
                string path = Application.ExecutablePath;
                RegistryKey rk = Registry.LocalMachine;
                RegistryKey rk2 = rk.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionRun");
                rk2.DeleteValue("JcShutdown", false);
                rk2.Close();
                rk.Close();
            }  
        }