我有一个Web应用程序,当用户从Web浏览器中选择打印时,我需要打印一个可拖动的div。
到目前为止,我发现的最简洁的建议是this堆栈溢出答案,建议我将页面隐藏起来,并仅为#plotArea
显示@media print
,如下所示:
@media print {
body * {
visibility: hidden;
}
#plotArea, #plotArea * {
visibility: visible;
}
#plotArea {
/* this positioning ignores .draggable() divs */
position: absolute;
left: 0;
top: 0;
}
}
但是,因为这个div是可拖动的,所以我不能为我的生活中移除偏移使得div正确定位以进行打印。是否有可能暂时删除可拖动div的偏移量?下面是div的jquery / css
//jquery
$( "#plotArea" ).draggable().offset({ top: 15, left: 400});
/* css */
#plotArea {
background-color: #FFFFFF;
width: 42em;
height: 54.5em;
float:left;
font-size: 12pt;
overflow:hidden;
}
答案 0 :(得分:2)
所以你要说的是,可拖动插件正在为你的from scrapy import signals
from twisted.internet.task import LoopingCall
class PersistStats(object):
"""An extension to persist stats on a given interval.
Settings
--------
PERSIST_STATS_INTERVAL : integer (default: 60)
Interval in seconds.
"""
def __init__(self, interval):
self.interval = interval
self.tasks = {}
@classmethod
def from_crawler(cls, crawler):
obj = cls(crawler.settings.getint('PERSIST_STATS_INTERVAL', 60))
crawler.signals.connect(obj.spider_opened, signal=signals.spider_opened)
crawler.signals.connect(obj.spider_closed, signal=signals.spider_closed)
return obj
def spider_opened(self, spider):
task = self.tasks[spider.name] = LoopingCall(self.perist_stats, spider)
task.start(self.interval)
def spider_closed(self, spider):
task = self.tasks.pop(spider.name)
task.stop()
def perist_stats(self, spider):
# TODO: store stats somewhere.
data = spider.crawler.stats.get_stats()
spider.logger.info("Persisting stats:\n%s", data)
div应用内联样式,因此会用你的打印媒体查询覆盖你添加到它的定位css吗?
您需要做的是将其上/左等位置值重置为#plotArea
并使用auto
规则覆盖来覆盖通过javascript应用于它的内联样式插件。
例如;
!important