电脑瘫痪暂停更新QAQ
2、谁敢再说我手速慢,你给我看这里啊,你有我快吗。
视频地址复制
Flash地址复制
Html地址复制
离线看更方便
用或其他应用扫描二维码
***神纪正片
广播电视节目制作经营许可证:(沪)字第1248号
网络文化经营许可证:沪网文[6号
信息网络传播视听节目许可证:0910417
互联网ICP备案:沪ICP备号-3
沪ICP证:沪B2-
违法不良信息举报邮箱:
违法不良信息举报***: 转 3您的举报已经提交成功,我们将尽快处理,谢谢!
第一招 此地无银
安全等级:★
隐藏:在Windows默认的情况下,隐藏文件和某些系统文件是不显示的。如果不是,你就自己 把它进行设置,设...
这个应该没有办法连接的吧
望采纳,谢谢
找到好友右键 点击观战
不是每个区都能观战的
比如征服之海 观战很容易崩溃 给好评哟
大家还关注喜欢发也喜欢删&心情贴&
一个烂透的故事,烂到把你困在里面
width:100%">
& && && && &现在在上班
没别的好困好困
width:100%">
& && && && &今天看我空间删访问的是你吗??
width:100%">
& && && && &前排
width:100%">
& && && && &一个月没抽烟
晚上去买包烟消遣一下
哈哈哈开心
width:100%">
99年的红短裤
& && && && &下大雨了。要去接你么
width:100%">
& && && && &不是要困拉,还买烟
width:100%">
& && && && &厉害厉害
width:100%">
& && && && &噗噗噗噗噗噗噗噗噗
width:100%">
& && && && &开始下大雨了。
width:100%">
丑也不能怪我
& && && && &少抽点烟
width:100%">
_甩出女人味
& && && && & 用追马的时间去种草
width:100%">
_甩出女人味
& && && && &8
width:100%">
& && && && &10
width:100%">
我爱你丶一世
& && && && &厉害了
width:100%">
& && && && &国双腿我可以玩一世
width:100%">
& && && && &后排
width:100%">
& && && && &身材不错
width:100%">
山沟里的农民0
& && && && &是
width:100%">
_甩出女人味
& && && && &才下班
width:100%">
& && && && &这里好熟
width:100%">
& && && && &发了删 删了发
width:100%">
_甩出女人味
& && && && &少抽烟
width:100%">
& && && && &目测是个美女
width:100%">
& && && && &我喜欢你就像我喜欢海 可我也不能去跳海 我可以去上海
width:100%">
& && && && &礼貌性的硬了,
width:100%">
& && && && &朋友说我短发不好看
但我一直坚持
短发干脆 不拖泥带水
width:100%">
& && && && &ok
width:100%">
99年的红短裤
& && && && &好
width:100%">
& && && && &下班回家
吃泡面油搞到眼睛里
这辈子都没流过这么多眼泪??
width:100%">
使用 (可批量传图、插入视频等)快速回复jquery中如何添加一个&object&&/object&标签?_问答_ThinkSAAS
jquery中如何添加一个&object&&/object&标签?
jquery中如何添加一个&object&&/object&标签?
jquery中如何添加一个&object&&/object&标签?
我在jquery里面有个判断:
if($(#abc).val=="1"){
符合这个判断则在如下html的两个p标签中间添加。
--------------想插入到这里 (如&object&&/object&)
这个思路是:
设置轮播的每个item为absolute,然后再通过z-index覆盖即可。active状态的z-index:2,normal状态为1。
每次轮播left走一个图片的距离。
这样就可以让轮播始终都是一个图片的距离,无论你点击哪个序号(1,2,3,4,5),比如,从当前是第一张轮播,你直接跳到第五张图片,普通轮播会产生4个图片的距离,但是这样始终是一个图片的距离。
其他在尾部克隆插入的方法没法解决以上产生的距离问题。
参考我写的组件:。
demo是easySwitch.html.
这个思路说白了其实很简单,比如你要轮播三张图,你可以写四个标签,第一张图和第四张图是一样的,当播完第四张的时候将标签改为第一张的标签。。。手机码字不方便,大概就这个意思,达到欺骗用户眼睛的目的,大部分轮播插件也是这么实现的
给个思路,第一个内容position: relative。然后轮播到最后一个内容的时候,第一个内容添加left值,大小为滚滚容器的宽度减一块内容的宽度。然后接着轮播,就看到了我们相对定位的第一个内容后。把第一个内容的position: static。然后滚动的容器left: 0就做到无缝了。
思路大概是这样了!
有个视频可以做参考:
我觉得 没必要闭门造车。可以看看这个 一个我用了很多年的插件
源码也比较简单,可以看得懂 。
考虑一下使用Canvas自己画~~?
我觉得用Canvas画反而比较简单方便。而且性能还能好点……
如果要实现这种无缝滚动,需要你补齐你的div.slider。实现这样效果的插件很多,比如楼上说的superslider,还有cxScroll等,如果楼主想看具体的细节,花点时间去研究下这些插件的源码即可,原理很简单。
我想你要的是:当最后一张图片时就轮播到第一张是吗? 无限轮播是吧?..
这个容易只要一个公式就搞定了.
var prevImg = (currentImg+1)%totalI //currentImg是当前的轮播图片,toutalImg是一共多少图片.
这样就能无限了
三个class,都加absoulte,transition
左:transformX(-100%)
中:transformX(0)
右:tranformX(100%)
每次把当前显示的加为中间的class 小于当前的加左边class,大于的放右边,当最后一个激活的时候,把第一个放右边。只要每次改当前索引值就可以了,动画交给tansition去
原始html:
&li class="slide1"&1&/div&
&li class="slide2"&2&/div&
&li class="slide3"&3&/div&
先clone slide1 和 slide3,然后变成这样:
&div class="carousel"&
&li class="slide3"&3&/div&
&li class="slide1"&1&/div&
&li class="slide2"&2&/div&
&li class="slide3"&3&/div&
&li class="slide1"&1&/div&
当动ul翻到最后clone出的slide1后,直接让ul定位到原始的slide1(这个动作不要加动画效果,直接定位),反方向也是如此。
移动端就不是这么做了。每个slide都加absoulte,transition属性,然后***手势去控制当前触摸的slide和其前后slide的transform。
实现无缝切换可以多加两张图,在第一张前面加上最后一张图,在最后一张图后面加上第一张图。刚好之前写过一个,JS原生,具体代码如下:
&!DOCTYPE html&
&html lang="en"&
&meta charset="UTF-8"&
&title&轮播图&/title&
width: 900
height: 500
margin-top: 50
width: 5400
width: 900
height: 500
text-decoration:
display: inline-
line-height: 70
background: rgba(3,3,3,.3);
font-weight: 700;
font-size: 50
text-align:
bottom: 20
width: 100%;
text-align:
height: 15
border-radius: 50%;
display: inline-
border: 1px solid #
span~span{
margin-left: 20
background-color: #
&div class="wrap"id="wrap"&
&div class="list"id="list"style="left: -900"&
&img src="img/p4.jpg"&
&img src="img/p1.jpg"&
&img src="img/p2.jpg"&
&img src="img/p3.jpg"&
&img src="img/p4.jpg"&
&img src="img/p1.jpg"&
&a href="#"id="prev"& & &/a&
&a href="#"id="next"style="right:0"& & &/a&
&div class="buttons"id="buttons"&
&span index="1"class="light"&&/span&
&span index="2"&&/span&
&span index="3"&&/span&
&span index="4"&&/span&
&script src="main.js"&&/script&
window.onload = function () {
var index = 1;
var switching =
var prev = document.getElementById('prev');
var next = document.getElementById('next');
var list = document.getElementById('list');
var wrap = document.getElementById('wrap');
var dots = document.getElementsByTagName('span');
var buttons = document.getElementById('buttons');
wrap.onmouseover = function () {
prev.style.display = 'block';
next.style.display = 'block';
wrap.onmouseout = function () {
prev.style.display = 'none';
next.style.display = 'none';
function lastImg() {
if (switching) {
switchPic(900);
if (index & 1) {
index = 4;
else if(index & 4) {
index = 1;
lightDot();
function nextImg() {
if (switching) {
switchPic(-900);
if (index & 1) {
index = 4;
else if(index & 4) {
index = 1;
lightDot();
function btn(e) {
if (switching) {
e = window.e ||
var target = e.target ? e.target: e.srcE
if (target.nodeName.toLowerCase() == 'span') {
var index1 = target.getAttribute('index');
var offset = (index - index1) * 900;
switchPic(offset);
index = index1;
lightDot();
// 切换图片的函数
function switchPic(offset) {
switching =
var time = 300;
var inter = 10; // 隔10ms切换一次
var speed = Math.ceil(offset/(time/inter));
var left = parseInt(list.style.left) +
var go = function () {
var curLeft = parseInt(list.style.left);
if ((speed & 0 && curLeft & left) || (speed & 0 && curLeft & left)) {
list.style.left = curLeft + speed + 'px';
setTimeout(go, inter);
list.style.left = left + 'px';
if (left & -3600) {
list.style.left = -900 + 'px';
else if (left & -900) {
list.style.left = -3600 + 'px';
switching =
// 点亮小点
function lightDot() {
for (var i = 0, len = dots. i & i++) {
if (dots[i].className == 'light') {
dots[i].className = '';
dots[index-1].className = 'light';
// 自动轮播
var play = function () {
var interval1 = interval || 2000;
if (order == 'prev') {
timer = setInterval(lastImg, interval1);
timer = setInterval(nextImg, interval1);
var stop = function () {
clearInterval(timer);
// 事件绑定DOM2
function addEvent(element, event, listener) {
if (element.addEventListener) {
element.addEventListener(event, listener, false);
element.attachEvent('on'+event, listener);
// 点击左右键切图
addEvent(prev, 'click', lastImg);
addEvent(next, 'click', nextImg);
// 点击小点切图
addEvent(buttons, 'click', btn);
// 指定切换顺序和间隔时间
order = 'next';
interval = 2000;
可以建个img文件夹,放几张图片试一下效果,这个是4张图片
搜一下PgwSlider插件,可以实现各种各样的图片轮播方式。本人前几天利用此插件完成了一个图片轮播,实现上方显示一张大图,下面陈列全部缩略图的功能。点击左右箭头实现轮播,点击缩略图也能实现大图切换。符合你所要求的点击最后一张图片后以相同方式回到第一张图片。源代码也比较容易读懂。如果需要源码,请回复。
这种效果吗?
可以看看这个~
superslide 完美兼容pc
swiper 完美手机端
满足题主一切需求
你也许需要这个插件来帮助你实现你要的效果。
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发***微信I'm using Entity Framework 5 with Code First Migrations. I have a DataStore class which derives from DbContext:
public class DataStore : DbContext, IDataStore
public int UserID { }
public DataStore(int userId, string connectionString) : base(connectionString)
UserID = userId;
public virtual IDbSet&User& Users { }
// Rest of code here
And a factory class which creates instances of the DataStore class:
public class DataStoreFactory : Disposable, IDataStoreFactory
private DataStore _
private int _userId;
private string _connectionS
public DataStoreFactory(int userId, string connectionString)
_userId = userId;
_connectionString = connectionS
public IDataStore Get()
_database = new DataStore(_userId, _connectionString);
protected override void DisposeCore()
if (_database != null) _database.Dispose();
These classes have their constructor parameters injected at runtime with . So far so good, everything works great!
The problem arises when we get to migrations: because my DataStore context class doesn't have a default constructor, I need to supply an implementation of IDbContextFactory&T& so that Code First Migrations can instantiate it:
public class MigrationDataStoreFactory : IDbContextFactory&DataStore&
public DataStore Create()
// Need to inject connection string so we can pass it to this constructor
return new DataStore(0, "CONNECTION_STRING_NEEDED_HERE");
The issue is that I can't figure out how I can inject the connection string into this class. I can't create a new constructor with a connection string parameter like this:
public class MigrationDataStoreFactory : IDbContextFactory&DataStore&
public string _connectionString { }
public MigrationDataStoreFactory(string connectionString)
_connectionString = connectionS
public DataStore Create()
return new DataStore(0, new DateTimeProvider(() =& DateTime.Now), _connectionString);
If I do, I get the following exception thrown by Migrations at runtime:
[InvalidOperationException: The context factory type 'MigrationDataStoreFactory' must have a public default constructor.]
System.Data.Entity.Infrastructure.DbContextInfo.CreateActivator() +326
System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config,
DbConnectionInfo connectionInfo) +106
System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType) +52
System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext) +202
System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration) +66
System.Data.Entity.MigrateDatabaseToLatestVersion`2.InitializeDatabase(TContext context) +50
// Truncated stack trace, but you get the idea
Aside from that, this class is not instantiated by U it seems to just be called by convention by Code First Migrations somehow, so even if I could do that it wouldn't really help...
Everything works fine if I hard-code the connection string in that method, but I don't want to do that, for obvious reasons.
Can anyone help please?
解决方案 Here's the approach I eventually used, using the custom IDatabaseInitializer&T& code from , which helped me out a great deal.
First we add another constructor to the DataStore class (DbContext) which doesn't require the connection string parameter:
public class DataStore : DbContext, IDataStore
public int UserID { }
// This is the constructor that will be called by the factory class
// if it is initialised without a connection string parameter
public DataStore(int userId)
UserID = userId;
public DataStore(int userId, string connectionString) : base(connectionString)
UserID = userId;
public virtual IDbSet&User& Users { }
// Rest of code here
Then we do the same for the factory class:
public class DataStoreFactory : Disposable, IDataStoreFactory
private DataStore _
private int _userId;
private string _connectionS
// This is the constructor that will be called by the
// MigrationDataStoreFactory class
public DataStoreFactory(int userId)
_userId = userId;
public DataStoreFactory(int userId, string connectionString)
_userId = userId;
_connectionString = connectionS
public IDataStore Get()
// If we have a connection string, construct our context with it,
// if not, use the new constructor
if(_connectionString != null)
_database = new DataStore(_userId, _dateTimeServices, _connectionString);
_database = new DataStore(_userId, _dateTimeServices);
protected override void DisposeCore()
if (_database != null) _database.Dispose();
This is the custom initializer code:
public class MigrateDatabaseToLatestVersionWithConnectionString&TContext, TMigrationsConfiguration& : IDatabaseInitializer&TContext&
where TContext : DbContext
where TMigrationsConfiguration : DbMigrationsConfiguration&TContext&, new()
private readonly DbMigrationsConfiguration _
public MigrateDatabaseToLatestVersionWithConnectionString()
_config = new TMigrationsConfiguration();
public MigrateDatabaseToLatestVersionWithConnectionString(string connectionString)
// Set the TargetDatabase for migrations to use the supplied connection string
_config = new TMigrationsConfiguration {
TargetDatabase = new DbConnectionInfo(connectionString,
"System.Data.SqlClient")
public void InitializeDatabase(TContext context)
// Update the migrator with the config containing the right connection string
DbMigrator dbMigrator = new DbMigrator(_config);
dbMigrator.Update();
Our custom context factory (which is only ever called by Code First Migrations) can now carry on using the DataStore constructor which doesn't require a connection string:
public class MigrationDataStoreFactory : IDbContextFactory&DataStore&
public DataStore Create()
return new DataStore(0);
As long as we set the database initializer to our custom initializer and pass in the connection string (which in my case is done in Global.asax), migrations will use the correct connection:
Database.SetInitializer&DataStore&(new MigrateDatabaseToLatestVersionWithConnectionString&DataStore, MyMigrationsConfiguration&(INJECTED_CONNECTION_STRING_HERE));
Hope all that makes sense--feel free to ask for clarification in the comments.
本文地址: &
我使用实体框架与5 code首先迁移。我有一个从派生的数据存储类的DbContext : 公共类数据存储:的DbContext,IDataStore{
公众诠释用户名{搞定;私人集; }
公共数据存储(INT userid,字符串的connectionString):基地(的connectionString)
用户名=用户
公共虚拟IDbSet&使用者>用户{搞定;组; }
code这里//休息} 和它创建数据存储类的实例的工厂类: 公共类DataStoreFactory:一次性,IDataStoreFactory{
私人数据存储_
私人诠释_userId;
私人字符串_connectionS
公共DataStoreFactory(INT userid,字符串的connectionString)
_userId =用户
_connectionString =的connectionS
公共IDataStore获得()
_database =新的数据存储(_userId,_connectionString);
保护覆盖无效DisposeCore()
如果(_database!= NULL)_database.Dispose();
}} 这些类必须在使用运行时注入的构造函数的参数。到目前为止好,一切都很正常! 当我们到迁移问题就出现了:因为我的数据存储上下文类没有默认构造函数,我需要提供 IDbContextFactory< T> 使得code首先迁移可以实例吧: 公共类MigrationDataStoreFactory:IDbContextFactory<数据存储>{
公共数据存储上创建()
//需要注入的连接字符串,所以我们可以把它传递给这个构造
返回新的数据存储(0,“CONNECTION_STRING_NEEDED_HERE”);
}} 问题是,我想不通我怎么能注入连接字符串到这个班。我不能像这样的连接字符串参数来创建一个新的构造: 公共类MigrationDataStoreFactory:IDbContextFactory<数据存储>{
公共字符串_connectionString {搞定;组; }
公共MigrationDataStoreFactory(字符串的connectionString)
_connectionString =的connectionS
公共数据存储上创建()
返回新的数据存储(0,新DateTimeProvider(()=> DateTime.Now),_connectionString);
}} 如果我这样做,我得到了以下异常在运行时抛出迁移:
[出现InvalidOperationException:上下文工厂类型“MigrationDataStoreFactory'必须具有公共默认构造函数。]
System.Data.Entity.Infrastructure.DbContextInfo.CreateActivator()326
System.Data.Entity.Infrastructure.DbContextInfo..ctor(类型contextType,DbProviderInfo modelProviderInfo,AppConfig的配置,DbConnectionInfo connectionInfo)+106
System.Data.Entity.Infrastructure.DbContextInfo..ctor(类型contextType)+52
System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration配置的DbContext usersContext)+202
System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration配置)+66
System.Data.Entity.MigrateDatabaseToLatestVersion`2.InitializeDatabase(TContext上下文)+50
//截断堆栈跟踪,但你的想法 除此之外,这个类不被实例化统一无妨;它似乎只是由公约code首先迁移莫名其妙地叫,所以即使我能做到,它不会真正帮助... 一切工作正常,如果我硬code该方法中的连接字符串,但我并不想这样做,原因是显而易见的。谁能帮助吗?解决方案 下面是我最终使用的方法,使用自定义 IDatabaseInitializer< T>
code从,该帮了我很多。首先,我们添加一个构造函数的数据存储类(的DbContext ),它不需要连接字符串参数 公共类数据存储:的DbContext,IDataStore{
公众诠释用户名{搞定;私人集; }
//这是由工厂类调用构造函数
//如果它没有连接字符串初始化参数
公共数据存储(INT用户id)
用户名=用户
公共数据存储(INT userid,字符串的connectionString):基地(的connectionString)
用户名=用户
公共虚拟IDbSet&使用者>用户{搞定;组; }
code这里//休息} 然后我们做同样的工厂类: 公共类DataStoreFactory:一次性,IDataStoreFactory{
私人数据存储_
私人诠释_userId;
私人字符串_connectionS
//这是将由被称为构造
// MigrationDataStoreFactory类
公共DataStoreFactory(INT用户id)
_userId =用户
公共DataStoreFactory(INT userid,字符串的connectionString)
_userId =用户
_connectionString =的connectionS
公共IDataStore获得()
//如果我们有一个连接字符串,建设我们的语境有了它,
//如果没有,使用新的构造
如果(_connectionString!= NULL)
_database =新的数据存储(_userId,_dateTimeServices,_connectionString);
_database =新的数据存储(_userId,_dateTimeServices);
保护覆盖无效DisposeCore()
如果(_database!= NULL)_database.Dispose();
}} 这是自定义初始code: 公共类MigrateDatabaseToLatestVersionWithConnectionString< TContext,TMigrationsConfiguration> :IDatabaseInitializer< TContext>
其中,TContext:的DbContext
其中,TMigrationsConfiguration:DbMigrationsConfiguration< TContext&中新(){
私人只读DbMigrationsConfiguration _
公共MigrateDatabaseToLatestVersionWithConnectionString()
_config =新TMigrationsConfiguration();
公共MigrateDatabaseToLatestVersionWithConnectionString(字符串的connectionString)
//设置为TargetDatabase迁移使用附带的连接字符串
_config =新TMigrationsConfiguration {
TargetDatabase =新DbConnectionInfo(的connectionString,
“System.Data.SqlClient的”)
公共无效InitializeDatabase(TContext上下文)
//更新包含正确的连接字符串配置的迁移
DbMigrator dbMigrator =新DbMigrator(_config);
dbMigrator.Update();
}} 我们的自定义上下文工厂(这仅是有史以来code首先迁移的称呼)现在可以使用数据存储构造函数的进行不的需要连接字符串: 公共类MigrationDataStoreFactory:IDbContextFactory<数据存储>{
公共数据存储上创建()
返回新的数据存储(0);
}} 只要我们设置数据库初始化到我们自定义的初始化和连接字符串中传递,迁移将使用(这在我的情况下,的Global.asax 完成)正确的连接:
Database.SetInitializer<数据存储>(新MigrateDatabaseToLatestVersionWithConnectionString<数据存储,MyMigrationsConfiguration>(INJECTED_CONNECTION_STRING_HERE)); 希望一切是有道理的,随时要求澄清的意见。
本文地址: &
扫一扫关注官方微信