Один из способов воспроизвести эту ошибку: если вы хотите подключиться к иностранному серверу, но вместо этого подключиться к несуществующей локальной:
eric@dev ~ $ mysql -u dev -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2)
eric@dev ~ $
Итак, вы должны указать хост следующим образом:
eric@dev ~ $ mysql --host=yourdb.yourserver.com -u dev -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 235
Server version: 5.6.19 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+-------------------------+
| Database |
+-------------------------+
| information_schema |
| mysql |
| performance_schema |
+-------------------------+
3 rows in set (0.00 sec)
mysql> exit
Bye
eric@dev ~ $
Вы можете уменьшить свою логику. Вы можете сделать карту действительных хэшей для селекторов для секций, чтобы показать их. Посмотрите селектор вверх, по умолчанию, если он не найден, и покажите раздел.
$(document).ready(function() {
var contentByHash = {
about: '#about'
, expertise: '#expertise'
, contact: '#contact'
};
var hash = window.location.hash.slice(1);
$(contentByHash[hash] || '#default-content').show();
});
Вы, безусловно, можете использовать этот метод, который предложил Taplar, или вы можете отказаться от него и использовать css только с: target псевдоселектором . См. Приемы css здесь
. По сути, вы будете скрывать свои разделы. как вы уже делаете, а затем добавьте класс с display: block следующим образом
#contact:target {
display: block;
}
По общему признанию, показ содержимого по умолчанию немного сложнее. Вы можете проверить наличие значения в хэше и показать содержимое по умолчанию, если его нет. Я посмотрю на это и вернусь к вам
Редактировать: Посмотрите на этот вопрос принятый ответ с использованием псевдоселекторов
[115 ] Вот ссылка на этот вопрос
Вы могли бы сделать что-то похожее на это:
/* based onhttps://stackoverflow.com/questions/6867095/css-selector-when-target-empty */
.section-wrapper>.dynamic-content:target~#default-content,
.section-wrapper>.dynamic-content {
display: none;
}
.dynamic-content>#default-content,
.dynamic-content>.dynamic-content:target {
display: block;
}
<div class="section-wrapper">
<div id="default-content" class="dynamic-content">
This is the default content
</div>
<!-- Dynamic Section 1 -->
<div id="contact" class="dynamic-content">
Contact content
</div>
<!-- Dynamic Section 2 -->
<div id="expertise" class="dynamic-content">
Expertise content
</div>
<!-- Dynamic Section 3 -->
<div id="about" class="dynamic-content">
About content
</div>
<!-- Dynamic Section 3 -->
</div>
Ран Вне времени, поэтому не было возможности проверить, но что-то вроде этого должно работать