问题总结
1.jquery 中val() 赋值不是直接修改的dom 元素的value的属性值,attr()修改的是。
2.PHP中move_upload_file(“file_temp”,$target_path);上传如果文件名是汉字,会报错,导致上传文件失败,
解决方法:
url_encode(‘$target_path’);
或者 最好是不用汉字来命名而使用自己定义的文件名比如系统时间,该文件名可以在数据库中保存。
3.css 中background属性,一直都是半懂不懂,今天梳理了下。
background 包括
background-attachment 属性值有fixed 和scroll主要是由于设置背景图片是否跟随滚动条的滑动和滚动。
如果设置为fixed 则该背景图片会固定的显示在该位置(只是背景图片固定,该背景的层还是会滚动),如果为scroll 会随层的滑动而滑动。
background-color 设置背景层的颜色。
background-position设置背景图片的具体位置作为背景,参数有三种情况
- top center bottom left center right 把图片定位在层的头,中部,脚,及左边等。
- x px y px 当背景图片小于该层的时候,通过像素大小定位到层,如果是背景图片大于该层的时候会用背景图片的某个像素点开始定位。
(0,0)的位置就是我们要定位的层的起始点层和背景图片在这个图片中的第四现象如果(10px,-10px)表示用图片的x方向的10个像素为起始点,用图片的先Y轴-10Px为起始点。开始定位,如果背景图片没那么大则以背景图片填充。
3.x% y%
用图片的%比来定位。有利于解决浏览器拖拉导致背景图失真的问题。
background-repeat:
如果背景图片铺盖不了则重复使用该图片来实现,覆盖。
4、最近去面试,碰到了数据结构方面的问题,自己在这方面还必须多加强,基础还是不牢固,
面试官问我什么是栈,我说,“先进后出”,接着他继续问,“你确定?”搞定我在考虑了半天说,“是先进后出啊?”他说:“不是后进先出吗?”,我说,“不是一样吗?”他说:“当然不一样”;
面试官说我把它搞糊涂了,现在回想起我写的栈和队列实现的代码确实有点问题。
之前我对的栈的理解是先进后出(其实也可以叫后进先出一样的),队列是先进先出,但是我忘记了一个先前条件,栈的操作是仅限定在尾部进行插入或删除操作的,头部不能进行操作。队列是只能在头部删除,在尾部插入。
<?php
class Stack {
protected $array;
function __construct() {
$this->array = array('1','2');
}
function set($value) {
//从栈底部插入
array_push($this->array, $value);
}
function get() {
//从栈底读取
return array_pop($this->array);
}
}
$stack = new Stack();
$stack->set('A');
$stack->set('B');
$stack->set('C');
class Line {
protected $array;
function __construct() {
$this->array = array();
}
function set($value) {
//在队列尾部插入数据
array_push($this->array, $value);
}
function get() {
//从队列头部读数据
return array_shift($this->array);
}
}
$line = new Line();
$line->set('A');
$line->set('B');
$line->set('C');
echo $line->get();
echo $line->get();
echo $line->get();