// ==UserScript==
// @name Soul+Linker
// @name:en Soul+Linker
// @name:zh Soul+Linker
// @namespace Xiccnd@qq.com
// @version 1.3.10
// @description 用于魂+和DLsite之间的快速跳转,同时让魂+使用起来更加方便
// @description:en Used for quick jumps between Soul+ and DLsite, while making Soul+ more convenient to use
// @description:zh 用于魂+和DLsite之间的快速跳转,同时让魂+使用起来更加方便
// @author Xiccnd
// @license GPL-3.0 License
// @include *://white-plus.net/*
// @include *://snow-plus.net/*
// @include *://level-plus.net/*
// @include *://east-plus.net/*
// @include *://south-plus.net/*
// @include *://north-plus.net/*
// @include *://spring-plus.net/*
// @include *://summer-plus.net/*
// @include *://imoutolove.me/*
// @include *://blue-plus.net/*
// @include *//www.dlsite.com*product_id/*
// @include *://www.white-plus.net/*
// @include *://www.snow-plus.net/*
// @include *://www.level-plus.net/*
// @include *://www.east-plus.net/*
// @include *://www.south-plus.net/*
// @include *://www.north-plus.net/*
// @include *://www.spring-plus.net/*
// @include *://www.summer-plus.net/*
// @include *://bbs.imoutolove.me/*
// @include *://www.blue-plus.net/*
// @exclude *://www.white-plus.net/index.php
// @exclude *://www.snow-plus.net/index.php
// @exclude *://www.level-plus.net/index.php
// @exclude *://www.east-plus.net/index.php
// @exclude *://www.south-plus.net/index.php
// @exclude *://www.north-plus.net/index.php
// @exclude *://www.spring-plus.net/index.php
// @exclude *://www.summer-plus.net/index.php
// @exclude *://bbs.imoutolove.me/index.php
// @exclude *://www.blue-plus.net/index.php
// @exclude *://www.white-plus.net/
// @exclude *://www.snow-plus.net/
// @exclude *://www.level-plus.ne/
// @exclude *://www.east-plus.net/
// @exclude *://www.south-plus.net/
// @exclude *://www.north-plus.net/
// @exclude *://www.spring-plus.net/
// @exclude *://www.summer-plus.net/
// @exclude *://bbs.imoutolove.me/
// @exclude *://www.blue-plus.net/
// @exclude *://white-plus.net/index.php
// @exclude *://snow-plus.net/index.php
// @exclude *://level-plus.net/index.php
// @exclude *://east-plus.net/index.php
// @exclude *://south-plus.net/index.php
// @exclude *://north-plus.net/index.php
// @exclude *://spring-plus.net/index.php
// @exclude *://summer-plus.net/index.php
// @exclude *://imoutolove.me/index.php
// @exclude *://blue-plus.net/index.php
// @exclude *://white-plus.net/
// @exclude *://snow-plus.net/
// @exclude *://level-plus.ne/
// @exclude *://east-plus.net/
// @exclude *://south-plus.net/
// @exclude *://north-plus.net/
// @exclude *://spring-plus.net/
// @exclude *://summer-plus.net/
// @exclude *://imoutolove.me/
// @exclude *://blue-plus.net/
// @require https://code.jquery.com/jquery-3.6.0.min.js
// @icon https://cdn.jsdelivr.net/gh/Xiccnd/Xiccnd-Pic@master/20220421113011992.1vh7zbll47r4.ico
// @grant none
// ==/UserScript==
$(function () {
'use strict'
/*
* 设置全局变量,开头加前缀避免重名
* */
//设置检查规则
const XICCND_CHECK_RJ = new RegExp('RJ[0-9]{6}')
const XICCND_CHECK_DL = new RegExp('dlsite')
const XICCND_CHECK_SEARCH = new RegExp('search.php[?]keyword-RJ[0-9]{6}')
//设置跳转魂+域名
const XICCND_WEBSITE = 'blue-plus.net'
/*
* 开关插件功能
* */
//开启跳转和图片预览功能
xiccndRJ()
//开启网站清爽模式,建议配合Soul+Cleaner和Soul++图墙自动打开一起使用
//xiccndCleanMode()
//开启去除文章广告,会导致无法列表模式观看,建议图墙用户开启
//xiccndCleanList()
//开启DLsite跳转魂+搜索
xiccndRJSearch()
//开启魂+内部跳转
xiccndInnerJump()
/*
* 跳转
* */
function xiccndRJ() {
//获取标题
const XICCND_TITLE = $('h1#subject_tpc.fl').html()
//创建复制按钮
const COPY_BUTTON = "<button id='copy_button' style='display: none; margin-left: 10px; cursor: pointer' onclick='return false'>复制标题</button>"
//标题后中添加复制按钮
if ($('button#copy_button') > 0) {
console.log('复制按钮已存在')
} else {
$('h1#subject_tpc.fl').append(COPY_BUTTON)
}
$('h1#subject_tpc.fl').on('click', function () {
$('button#copy_button').stop().toggle(300)
})
$('button#copy_button').on('click', function () {
// 创建元素用于复制
const aux = document.createElement('input')
// 获取复制内容
let content = XICCND_TITLE.substr(0,XICCND_TITLE.indexOf('<div class'))
//判断凛+div元素添加上没有
if (XICCND_TITLE.indexOf('<div class') === -1) {
content = XICCND_TITLE
}
// 设置元素内容
aux.setAttribute('value', content)
// 将元素插入页面进行调用
document.body.appendChild(aux)
// 复制内容
aux.select()
// 将内容复制到剪贴板
document.execCommand('copy')
// 删除创建元素
document.body.removeChild(aux)
alert('标题已复制\n' + content)
})
//检查标题是否含有RJ号
if (XICCND_CHECK_RJ.test(XICCND_TITLE)) {//如果含有
//获取RJ号
let RJ = XICCND_TITLE.substr(XICCND_TITLE.indexOf("RJ"), 8)
let RJPre
let RJBody
//如果RJ号10位
if (RJ.substr(2, 1) === "0") {
RJ = XICCND_TITLE.substr(XICCND_TITLE.indexOf("RJ"), 10)
//合成路径
RJPre = RJ.substr(0, 6)
RJBody = parseInt(RJ.substr(6, 1)) + 1
if (RJBody === 10) {//当RJBody为9时,RJBody要变为0,前一个数字加1
RJPre = RJPre.substr(0, 5) + (parseInt(RJPre.substr(5, 1)) + 1)
RJBody = 0
}
} else {//RJ号8位
//合成路径
RJPre = RJ.substr(0, 4)
RJBody = parseInt(RJ.substr(4, 1)) + 1
if (RJBody === 10) {//当RJBody为9时,RJBody要变为0,前一个数字加1
RJPre = RJPre.substr(0, 3) + (parseInt(RJPre.substr(3, 1)) + 1)
RJBody = 0
}
}
const RJSRC = RJPre + RJBody + '000'
//合成图片地址
const SRC = '//img.dlsite.jp/modpub/images2/work/doujin/' + RJSRC + '/' + RJ + '_img_main.jpg'
//创建图片
const IMG = '<img id="xiccndImg" style="display: none; width: 15%; position: absolute; left: 1%;top: 10px;border: 5px dashed pink" alt= "NoImg" src= ' + '"' + SRC + '"' + '>'
//网页中添加图片
if ($('img#xiccndImg') > 0) {
console.log('预览图已存在')
} else {
$('body').append(IMG)
}
$("h1#subject_tpc.fl").on('mouseover', function () {
$(this).css('cursor', 'pointer').css('color', 'pink')
}).on('mouseout', function () {
$(this).css('color', '#bbbbbb')
}).on('click', function (event) {
//获取当前鼠标的坐标
const mouse_x = event.pageX + "px"
const mouse_y = event.pageY + "px"
//如果图片隐藏时可改变图片位置
if ($('img#xiccndImg').css('display') === 'none') {
$('img#xiccndImg').css({
left: mouse_x,
top: mouse_y
})
}
$('img#xiccndImg').stop().toggle(300)
})
//跳转网页
$('img#xiccndImg').on('click', function () {
window.open("https://www.dlsite.com/maniax/work/=/product_id/" + RJ + ".html");
}).on('mouseover', function () {
$(this).css('cursor', 'pointer').css('border', '5px dashed plum')
}).on('mouseout', function () {
$(this).css('border', '5px dashed pink')
})
} else {//如果不含有
//检查是否已存在表单
if (!($('form#xiccndSearchForm').size > 0)) {
//生成跳转表单
const SEARCHBAR = '<input id="xiccndSearchbar" type="text" value="RJ" placeholder="请输入RJ号" style="width: 100px; height: 20px; margin-left: 5px"/>'
const BUTTON = '<input id="xiccndSearchbarButton" type="submit" value="跳转" style="height: 25px; margin-left: 5px"/>'
const FORM = '<form id="xiccndSearchForm" action="" style="display: none">' + SEARCHBAR + BUTTON + '</form>'
//添加生成表单
$('div.h1.fl').append(FORM)
}
//标题点击效果
$("h1#subject_tpc.fl").on('click', function () {
$('form#xiccndSearchForm').stop().toggle(500)
}).on('mouseover', function () {
$(this).css('cursor', 'pointer').css('color', 'plum')
}).on('mouseout', function () {
$(this).css('color', '#bbbbbb')
})
//跳转按钮效果
$('input#xiccndSearchbarButton').on('mouseover', function () {
$(this).css('cursor', 'pointer')
}).on('click', function () {
//获取搜索框内值
let searchRJ = $('input#xiccndSearchbar').val()
//判断RJ号
while (!(XICCND_CHECK_RJ.test(searchRJ))) {
if (searchRJ === '') {
searchRJ = prompt('RJ号为空,请重新输入!')
} else if (searchRJ == null) {//点击取消
break
} else {
searchRJ = prompt('RJ号不规范,请重新输入!')
}
}
//判断是否点击取消,否的话跳转
if (searchRJ != null) {
$('form#xiccndSearchForm').attr('action', 'https://www.dlsite.com/maniax/work/=/product_id/' + searchRJ + '.html')
} else {
return false
}
})
}
}
/*
* 去除文章广告
* */
function xiccndCleanMode() {
//去除页头广告
$('div#header div').eq(-2).remove()
//去除网页头部
$('td.banner').remove()
//去除网页底部
$('div#main>div.t_one').remove()
$('div#footer').remove()
//去除公告
$('div.gonggao').remove()
}
/*
* 去除文章广告
* */
function xiccndCleanList() {
$('table#ajaxtable>tbody').eq(1).remove()
}
/*
* DLsite跳转魂+搜索
* */
function xiccndRJSearch() {
//获取当前网址
const URL = window.location.href
//检查是否为DLsite网站
if (XICCND_CHECK_DL.test(URL)) {
//改作品名称可选
$('#work_name').css('user-select', 'auto')
//添加搜索按钮
const SEARCH_BUTTON = "<button id='xiccnd_search_button' style='margin-left: 10px; background-color: white; border: pink dashed 3px; border-radius: 10px' >跳转搜索</button>"
$('#work_name').append(SEARCH_BUTTON)
//截取RJ号
let RJ = URL.substr(URL.indexOf("RJ"), 8)
//判断是否10位RJ号
if (RJ.substr(2,1) === "0") {
RJ = URL.substr(URL.indexOf("RJ"), 10)
}
//设置1s1check
setInterval(skip_adult_check,1000)
//如果出现成人检查直接切换网址
function skip_adult_check() {
if($('.adult_check_box').length != 0) {
window.location.replace('https://www.dlsite.com/maniax/work/=/product_id/' + RJ + '.html')
}
}
$('button#xiccnd_search_button').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('border', 'plum dashed 3px')
}).on('mouseout', function () {
$(this).css('border', 'pink dashed 3px')
}).on('click', function () {//带RJ号跳转搜索页面
window.open('https://' + XICCND_WEBSITE + '/search.php?keyword-' + RJ)
})
} else if (XICCND_CHECK_SEARCH.test(URL)) {//检查是否为搜索界面
//截取RJ号
let SEARCH_RJ = URL.substr(URL.indexOf("RJ"), 8)
//判断是否10位RJ号
if (SEARCH_RJ.substr(2,1) === "0") {
SEARCH_RJ = URL.substr(URL.indexOf("RJ"), 10)
}
//在搜索框填入RJ号
$('input.input[name="keyword"]').val(SEARCH_RJ)
//改搜索条件为所有主题帖
$('select[name="sch_time"]>option[value="all"]').attr('selected', 'selected')
//点击搜索按钮
$('input.btn[value="提 交"]').trigger('click')
}
}
/*
* 魂+内部跳转
* */
function xiccndInnerJump() {
//获取当前网址
const URL = window.location.href
//如果是同人音声
if (URL.indexOf('fid-128.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">同人音声<span style="float: right; margin-top: 3px; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">COSPLAY</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是茶馆
if (URL.indexOf('fid-9.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">茶馆<span style="float: right; margin-top: 3px; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">COSPLAY</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是询问&求物
if (URL.indexOf('fid-48.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">询问&求物<span style="float: right; margin-top: 3px; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">COSPLAY</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是GALGAME
if (URL.indexOf('fid-135.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">GALGAME<span style="float: right; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">COSPLAY</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是游戏资源
if (URL.indexOf('fid-6.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">游戏资源<span style="float: right; margin-top: 3px; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">COSPLAY</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是COSPLAY
if (URL.indexOf('fid-201.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">COSPLAY<span style="float: right; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border: pink dashed 3px; display: none">实用动画</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-4.html'
})
}
//如果是实用动画
if (URL.indexOf('fid-4.html') > 0) {
const JUMP_DIV = '<div id="jump_div" style="position: fixed; left: 0; top: 10px; color: black; font-size: 2em; text-align: center; user-select: none">' +
'<ul style="list-style-type: none; width: 200px">' +
'<li style="border: pink dashed 3px">实用动画<span style="float: right; margin-top: 3px; margin-right: 7px; width: 17px">∇</span></li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">茶馆</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">同人音声</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">询问&求物</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; border-bottom: pink dashed 3px; display: none">GALGAME</li>' +
'<li style="border-left: pink dashed 3px; border-right: pink dashed 3px; display: none">游戏资源</li>' +
'<li style="border: pink dashed 3px; display: none">COSPLAY</li>' +
'</ul>' +
'</div>'
//判断跳转div元素是否存在
if ($('div#jump_div').size > 0) {
console.log('跳转列表已存在')
} else {
//添加div
$('body').append(JUMP_DIV)
}
$('div#jump_div li').on('mouseover', function () {
$(this).css('cursor', 'pointer').css('background-color', 'rgba(255,255,255,0.2)')
}).on('mouseout', function () {
$(this).css('background-color', 'transparent')
}).eq(0).on('click', function () {
if ($(this).next('li').css('display') === 'none') {
$('div#jump_div li').stop().slideDown(300)
$(this).find('span').html('Δ')
} else {
$('div#jump_div li').not(':first').stop().slideUp(300)
$(this).find('span').html('∇')
}
}).end().eq(1).on('click', function () {
window.location.href = 'thread_new.php?fid-9.html'
}).end().eq(2).on('click', function () {
window.location.href = 'thread_new.php?fid-128.html'
}).end().eq(3).on('click', function () {
window.location.href = 'thread_new.php?fid-48.html'
}).end().eq(4).on('click', function () {
window.location.href = 'thread_new.php?fid-135.html'
}).end().eq(5).on('click', function () {
window.location.href = 'thread_new.php?fid-6.html'
}).end().eq(6).on('click', function () {
window.location.href = 'thread_new.php?fid-201.html'
})
}
/*
* 实现拖动效果
* */
const DIV_DRAGABLE = $('div#jump_div')
//绑定鼠标左键按住事件
DIV_DRAGABLE.on('mousedown', function (event) {
//获取需要拖动节点的坐标
const offset_x = $(this)[0].offsetLeft//x坐标
const offset_y = $(this)[0].offsetTop//y坐标
//获取当前鼠标的坐标
const mouse_x = event.pageX
const mouse_y = event.pageY
//绑定拖动事件
$(document).on('mousemove', function (ev) {
//拖动时禁用点击事件
$('div#jump_div').css('pointer-events', 'none')
//计算鼠标移动了的位置
const _x = ev.pageX - mouse_x
const _y = ev.pageY - mouse_y
//设置移动后的元素坐标
const now_x = (offset_x + _x) + "px";
const now_y = (offset_y + _y) + "px";
//改变目标元素的位置
DIV_DRAGABLE.css({
top: now_y,
left: now_x
})
})
})
$(document).on('mouseup', function () {
//恢复点击事件
$('div#jump_div').css('pointer-events', 'auto')
//当鼠标左键松开,解除事件绑定
$(this).off('mousemove')
})
}
})